1 00:00:07,590 --> 00:00:09,920 [Powered by Google Translate] DAVID J. Malan: Në rregull, kjo është CS50 dhe ky është 2 00:00:09,920 --> 00:00:15,250 fund të javës 1, kështu që kartat e studimit janë në dhe numri i përgjithshëm i 3 00:00:15,250 --> 00:00:18,640 shokët e klasës që ju e keni këtë vit është 745. 4 00:00:18,640 --> 00:00:20,920 Dhe ne jemi të pushtuar në mënyrë që të ketë kaq shumë prej jush gjatë 5 00:00:20,920 --> 00:00:23,680 këtë semestër, por edhe pse ky kurs është aq i madh, 6 00:00:23,680 --> 00:00:26,090 të kuptojë se kjo është këto gjëra si dreka e premte, si 7 00:00:26,090 --> 00:00:29,020 orarit të punës, 15-personi seksione, dhe kështu me radhë që 8 00:00:29,020 --> 00:00:30,590 janë të destinuara të vërtetë për të krijuar këtë më intime 9 00:00:30,590 --> 00:00:31,140 mjedisit. 10 00:00:31,140 --> 00:00:34,070 Pra, edhe pse ne mund të mblidhen një herë ose dy herë në javë, këtu në 11 00:00:34,070 --> 00:00:36,420 Sanders, e di se shumë nga përvoja juaj në këtë kurs 12 00:00:36,420 --> 00:00:39,330 do të jetë shumë duart-në në së bashku me shokët e klasës tuaj 13 00:00:39,330 --> 00:00:40,730 dhe stafit mësimor. 14 00:00:40,730 --> 00:00:43,960 >> Pra, këtu ne do të shkojmë, Fall 2012. 15 00:00:43,960 --> 00:00:47,530 Pra, kujtojmë se koha e kaluar ne përfundoi në një notë të 16 00:00:47,530 --> 00:00:50,460 pasaktësi, duke folur në lidhje me përfaqësimin e numrave. 17 00:00:50,460 --> 00:00:52,950 Dhe ne shikoi në një prej dështimeve që ndodhur, në 18 00:00:52,950 --> 00:00:54,920 bota reale, kur ai erdhi për keqkuptim 19 00:00:54,920 --> 00:00:55,890 si kompjutera punë. 20 00:00:55,890 --> 00:00:58,590 E pra, sot ne do të rishqyrtojnë një tjetër një nga ato ide, si 21 00:00:58,590 --> 00:01:01,410 dhe vazhdojmë diskutimin tonë të klientit CS50 22 00:01:01,410 --> 00:01:04,090 dhe C dhe çfarë do të thotë me të vërtetë të programit. 23 00:01:04,090 --> 00:01:06,430 Por së pari, vetëm një çift i njoftimeve shakullimë. 24 00:01:06,430 --> 00:01:08,930 >> Seksione fillojnë kjo diel, dhe javë parë është gjithmonë një 25 00:01:08,930 --> 00:01:11,030 pak e një fillim të shpejtë, sepse ne sapo mori në 26 00:01:11,030 --> 00:01:12,620 format tuaja seksion. 27 00:01:12,620 --> 00:01:14,450 Ne jemi duke bërë të njëjtën gjë, tani, me miqtë mësimore, tani 28 00:01:14,450 --> 00:01:16,410 se ata e dinë oraret e tyre, kështu që ne jemi duke synuar, duke 29 00:01:16,410 --> 00:01:19,380 Shtunën në mëngjes, për të ndjekur deri me ju me seksionin tuaj 30 00:01:19,380 --> 00:01:20,760 Caktimi dhe TF. 31 00:01:20,760 --> 00:01:22,770 Kuptojnë se ata do të fillojnë ditën e nesërme, e diel 32 00:01:22,770 --> 00:01:24,510 ose hëna apo e marta. 33 00:01:24,510 --> 00:01:27,730 Dhe pastaj ne do të pranohen ndryshimet seksion si ato të lindin 34 00:01:27,730 --> 00:01:28,690 në ditët që do të vijnë. 35 00:01:28,690 --> 00:01:31,590 Orari i punës, ndërkohë, janë, përsëri, sonte, 8:00 në 11, në 36 00:01:31,590 --> 00:01:33,740 Annenberg, si edhe natën nesër. 37 00:01:33,740 --> 00:01:36,150 Edhe pse problemi grupe janë në përgjithësi për shkak të enjteve 38 00:01:36,150 --> 00:01:39,020 në mesditë, ju duhet të kuptojë deri në pesë ditë me vonesë për të shpenzuar, 39 00:01:39,020 --> 00:01:42,430 prandaj disponueshmërinë e orarit të punës të enjten, nëse 40 00:01:42,430 --> 00:01:45,930 ju të holla në një nga ato ditë dhe në fund, në këtë mënyrë, të paraqesë 41 00:01:45,930 --> 00:01:47,070 diçka të premten. 42 00:01:47,070 --> 00:01:50,850 Më lejoni të sugjeroj se Scratch është në mesin e më shumë argëtim, ndër 43 00:01:50,850 --> 00:01:52,390 më të ulëta grupe kyçe problem. 44 00:01:52,390 --> 00:01:55,160 Dhe unë do të rri në fund të këtyre ditëve, strategjikisht, vetëm 45 00:01:55,160 --> 00:01:57,380 për më vonë në semestrin kur jeta fillon të marrë në mënyrë 46 00:01:57,380 --> 00:01:59,470 me midterms dhe klasave të tjera. 47 00:01:59,470 --> 00:02:01,580 Set 1 Problem, ndërkohë, do të jetë postuar në kursin e 48 00:02:01,580 --> 00:02:06,080 website të premten, pasi do të jetë në këmbë e kursit të 49 00:02:06,080 --> 00:02:08,789 përmes video, që do të filmohet në 02:30 të premten 50 00:02:08,789 --> 00:02:11,890 dhe pastaj të postuar në internet nga dita e ardhshme. 51 00:02:11,890 --> 00:02:13,880 >> Pra, ne përfundoi të hënën. 52 00:02:13,880 --> 00:02:15,450 Unë dua të - në fakt, një shënim këtu. 53 00:02:15,450 --> 00:02:18,870 Sepse klasat - Sanders, sepse nuk bën pikërisht të japë 54 00:02:18,870 --> 00:02:22,220 vetë të rastit Q & A mbrapa dhe me radhë tmerrësisht të mirë, ne jemi 55 00:02:22,220 --> 00:02:24,030 do të provoni diçka pak më të re të këtij viti, ku 56 00:02:24,030 --> 00:02:26,160 në qoftë se ju nuk jeni të rehatshëm duke ngritur dorën tuaj apo ju vetëm 57 00:02:26,160 --> 00:02:28,800 vend nuk do të ngrejë dorën tuaj në një dhomë si kjo, 58 00:02:28,800 --> 00:02:30,710 ne do të kemi disa nga miqtë e mësimdhënies dhe CAS-it 59 00:02:30,710 --> 00:02:33,260 ruajtja cs50.net/discuss gjatë ligjëratës. 60 00:02:33,260 --> 00:02:35,440 Pra, nëse ju keni ndonjë pyetje, sepse unë kam qenë plotësisht i 61 00:02:35,440 --> 00:02:37,510 paqartë në lidhje me diçka ose ju jeni kurioz rreth disa 62 00:02:37,510 --> 00:02:39,640 temë, provoni postimi atë atje. 63 00:02:39,640 --> 00:02:42,670 Tag atë me një etiketë të ligjëratës, dhe ne do të bëjmë më të mirën 64 00:02:42,670 --> 00:02:45,430 sot dhe javën e ardhshme - we'll provoni këtë jashtë - për fushën e IT 65 00:02:45,430 --> 00:02:47,990 ose elektronike, online, ose në qoftë se ai ndjehet si ne duhet 66 00:02:47,990 --> 00:02:50,430 me të vërtetë trajtuar atë masë, një nga Fellows mësimore ose 67 00:02:50,430 --> 00:02:52,080 AK do të ngrejë dorën e tyre dhe të kërkojë 68 00:02:52,080 --> 00:02:53,480 anonime në emër tuaj. 69 00:02:53,480 --> 00:02:55,650 Pra, ne do të japim këtë një provoni dhe shikoni se sa mirë punon kjo. 70 00:02:55,650 --> 00:02:58,540 Por, me të gjitha mjetet, të vazhdojë të ngrejë duart si ju dëshironi. 71 00:02:58,540 --> 00:03:11,420 >> Pra, është koha e fundit që zbuloi se 10% ose një e dhjeta nuk është, në 72 00:03:11,420 --> 00:03:13,840 fakt, 0.1, si ju ishin mësuar shumë vite më parë. 73 00:03:13,840 --> 00:03:15,390 Është në fakt, një vlerë si kjo. 74 00:03:15,390 --> 00:03:16,970 Por kjo nuk është tërësisht e vërtetë, apo jo? 75 00:03:16,970 --> 00:03:19,585 Ne vetëm kemi këtë kufizim në kompjuter ku, në qoftë se ju 76 00:03:19,585 --> 00:03:22,450 kanë vetëm një sasi e fundme e kujtesës, RAM, ose më shumë 77 00:03:22,450 --> 00:03:25,220 posaçërisht bit, mirë, ka vetëm një numër i kufizuar 78 00:03:25,220 --> 00:03:26,980 gjëra që ju mund të përfaqësojnë. 79 00:03:26,980 --> 00:03:29,780 Për shembull, në qoftë se ne kemi numrin zero, dhe ne duam të 80 00:03:29,780 --> 00:03:32,790 përfaqësojnë në binar, përdorur tetë bit, ku një pak, 81 00:03:32,790 --> 00:03:34,710 përsëri, është një zero ose një një, ne might 82 00:03:34,710 --> 00:03:39,240 paraqesin atë si 00.000.000. 83 00:03:39,240 --> 00:03:41,160 Dhe kjo është një fjalëshumë pak panevojshme. 84 00:03:41,160 --> 00:03:43,700 Ashtu si në sistemin decimal në botën reale, 85 00:03:43,700 --> 00:03:47,040 Në përgjithësi, në qoftë se ju doni të shkruani numrin 123, ne 86 00:03:47,040 --> 00:03:52,240 njerëzit ndoshta nuk shkruaj edhe pse 00000123, 87 00:03:52,240 --> 00:03:53,940 funksionalisht, që është numri i saktë njëjtë. 88 00:03:53,940 --> 00:03:56,580 Ne vetëm rënie zero kryesore, në mënyrë që të flasin. 89 00:03:56,580 --> 00:03:58,270 >> Në binar, ne mund të bëjmë të njëjtën gjë. 90 00:03:58,270 --> 00:04:01,440 Binary dhe zero, zero dhe binar është vetëm zero. 91 00:04:01,440 --> 00:04:02,870 Ju duhet vetëm një grimë të vetme. 92 00:04:02,870 --> 00:04:05,020 Por përsëri, njësia më e zakonshme e masës në botë 93 00:04:05,020 --> 00:04:07,820 e informatikë është bytes, tetë BITS. 94 00:04:07,820 --> 00:04:09,720 Vetëm për shkak se një pak, mjaft të padobishme. 95 00:04:09,720 --> 00:04:12,020 Tetë BITS, jo tmerrësisht e dobishme, por të paktën kjo është më shumë 96 00:04:12,020 --> 00:04:14,280 dobishme se një njësi të vetme të masës. 97 00:04:14,280 --> 00:04:17,100 Pra, me tetë BITS, ne do të zakonisht përfaqësojnë binar. 98 00:04:17,100 --> 00:04:20,459 Pra, këtu kemi numrat zero, një, dy, dhe pastaj, si 99 00:04:20,459 --> 00:04:24,200 Nate bëri në video tonë mërkurën e kaluar, ne mund të vazhdojmë 100 00:04:24,200 --> 00:04:25,940 numëruar deri në shtatë, të tetë. 101 00:04:25,940 --> 00:04:27,860 Dhe pastaj, nëse ne përdorim bit gjithnjë e më shumë, ne 102 00:04:27,860 --> 00:04:29,880 mund të llogarisë deri në pafundësi. 103 00:04:29,880 --> 00:04:32,800 Por në qoftë se ju keni vetëm një numër i caktuar i këtyre bit, siç është 104 00:04:32,800 --> 00:04:35,030 rasti në çdo sistem kompjuterik, apo edhe raketave 105 00:04:35,030 --> 00:04:36,670 sistemit, edhe, në të vërtetë ju keni vetëm një 106 00:04:36,670 --> 00:04:37,900 Shuma e fundme e saktësi. 107 00:04:37,900 --> 00:04:41,290 Pra, nëse ju doni të përfaqësojnë numrin si 0,1, mirë, 108 00:04:41,290 --> 00:04:43,410 kompjuter ka për të zgjedhë dhe të zgjedhin. 109 00:04:43,410 --> 00:04:45,970 Dhe në qoftë se ajo ka vetëm një numër i caktuar të numrave që mund 110 00:04:45,970 --> 00:04:50,490 përfaqësojnë, kjo mund të vijë afër 0.1 për ju, por kjo nuk mund të 111 00:04:50,490 --> 00:04:53,730 domosdoshmërisht të ju jap pikërisht vlerën që ju dëshironi. 112 00:04:53,730 --> 00:04:55,660 Dhe kjo është vetëm një nga sfidat e kompjuterëve, 113 00:04:55,660 --> 00:04:57,090 nën kapuç, fatmirësisht. 114 00:04:57,090 --> 00:04:59,110 >> Si ne shkojmë më larg në semestrin, këto nivel më të ulët 115 00:04:59,110 --> 00:05:02,310 detaje të bëhet shumë më pak interesante, por sigurisht 116 00:05:02,310 --> 00:05:05,700 Zbatimi i këtyre ideve mund të ketë disa botën reale shumë 117 00:05:05,700 --> 00:05:06,760 degëzime. 118 00:05:06,760 --> 00:05:08,190 Njëra është një argëtim pak. 119 00:05:08,190 --> 00:05:12,150 Sa prej jush e kanë parë të mahnitshme Office Space film? 120 00:05:12,150 --> 00:05:13,620 Nëse ju nuk e keni, se është jozyrtare tuaj 121 00:05:13,620 --> 00:05:14,370 Detyrat e shtëpisë për javën. 122 00:05:14,370 --> 00:05:16,730 Por në Office Space, se miqtë në këtë film marrin 123 00:05:16,730 --> 00:05:19,900 Avantazhi i kësaj ideje pikërisht, por ata në fakt vodhi 124 00:05:19,900 --> 00:05:21,270 atë nga një tjetër film që ju mund të keni 125 00:05:21,270 --> 00:05:22,760 parë, edhe vite para. 126 00:05:22,760 --> 00:05:24,920 Pra më lejoni t'ju jap disa sekonda e këtij rimorkio nga 127 00:05:24,920 --> 00:05:27,470 ky film mahnitshme dhe kjo është shumë e 128 00:05:27,470 --> 00:05:28,340 shkollë përkatëse. 129 00:05:28,340 --> 00:05:30,310 >> [Luan MOVIE] 130 00:05:30,310 --> 00:05:32,240 Në fakt unë jam duke u promovuar. 131 00:05:32,240 --> 00:05:33,360 Unë mund të programit një virus që do të shqyej se 132 00:05:33,360 --> 00:05:34,460 vend jashtë kohë të mëdha. 133 00:05:34,460 --> 00:05:35,770 E pra, si e bën këtë punë? 134 00:05:35,770 --> 00:05:37,836 Sa herë që ka një transaksioni bankar, ku interesi është 135 00:05:37,836 --> 00:05:40,154 llogaritur, nuk janë mijëra në ditë, kompjuter përfundon 136 00:05:40,154 --> 00:05:41,040 me këto fraksionet e një qind. 137 00:05:41,040 --> 00:05:43,050 Por unë nuk jam duke shkuar për të bërë diçka të paligjshme. 138 00:05:43,050 --> 00:05:46,730 Paligjshme? Samir, kjo është Amerika. 139 00:05:46,730 --> 00:05:48,010 Ju duhet të betohen për Zotin. 140 00:05:48,010 --> 00:05:51,870 Nëse askush nuk e di në lidhje me këtë, por ne, të gjithë të drejtë? Asnjë anëtarët e familjes, nuk ka 141 00:05:51,870 --> 00:05:52,490 girlfriends, askush. 142 00:05:52,490 --> 00:05:53,882 [E padëgjueshme]. 143 00:05:53,882 --> 00:05:57,594 Mos u bëni merak, njeriu, unë nuk do të tregoj askujt as. 144 00:05:57,594 --> 00:05:59,680 [MOVIE FUND] 145 00:05:59,680 --> 00:06:01,900 >> Të gjithë të drejtë, kështu që ndoshta kam gjetur këtë film më të mirë se shumica 146 00:06:01,900 --> 00:06:05,530 njerëzit këtu, por në çdo rast, virusi që ata ishin 147 00:06:05,530 --> 00:06:06,400 duke u përpjekur për të krijuar - 148 00:06:06,400 --> 00:06:08,410 dhe në filma, në çdo kohë ata do të thërrasë diçka një virus, 149 00:06:08,410 --> 00:06:09,770 kjo nuk është në përgjithësi në fakt një virus. 150 00:06:09,770 --> 00:06:11,600 Kjo është vetëm një program që dikush shkroi për të bërë diçka. 151 00:06:11,600 --> 00:06:13,800 Dhe në këtë rast, djemtë ishin duke u përpjekur për të shkruar një program 152 00:06:13,800 --> 00:06:16,610 që mori avantazhin e quajtur kompaninë e tyre të Innotech 153 00:06:16,610 --> 00:06:19,740 Sistemi informatikë, ku kompjuterat, gjithashtu, edhe kur 154 00:06:19,740 --> 00:06:21,350 fjala për para, nuk mund domosdoshmërisht 155 00:06:21,350 --> 00:06:23,490 paraqesin para saktësisht. 156 00:06:23,490 --> 00:06:27,630 Pra, edhe pse ju mund të keni 0,10 $ në llogarinë tuaj bankare, 157 00:06:27,630 --> 00:06:31,060 0.10, mirë, kompjuteri mund të vërtetë mendoj se ju keni 158 00:06:31,060 --> 00:06:33,560 kjo cent shumë në llogarinë tuaj bankare. 159 00:06:33,560 --> 00:06:35,750 Dhe kështu që ajo që këta njerëz ishin të aspirojnë për të bërë - dhe ata 160 00:06:35,750 --> 00:06:38,240 vodhi idenë, ajo rezulton nga Superman III, ku 161 00:06:38,240 --> 00:06:41,210 Richard Pryor bëri të njëjtën gjë - ata ishin në thelb 162 00:06:41,210 --> 00:06:44,880 programe shkrim që aspirojnë për të marrë të gjitha të zvarritës 163 00:06:44,880 --> 00:06:46,930 numra, të gjithë e vogël,, fraksionet e vogël e vogël 164 00:06:46,930 --> 00:06:50,160 pennies dhe vjedhur ato jashtë në mënyrë që njerëzit vetëm 165 00:06:50,160 --> 00:06:52,620 mendim, oh, kjo është vetëm 0,10 $ atje, por të gjithë ata që 166 00:06:52,620 --> 00:06:54,410 Numrat zvarritës përfundimisht të shtoni deri. 167 00:06:54,410 --> 00:06:57,490 Pra, një ide të mrekullueshme dhe kjo backfired hilariously në atë 168 00:06:57,490 --> 00:06:58,250 film veçanti. 169 00:06:58,250 --> 00:07:01,800 >> Por në botën e vërtetë, gjithashtu, ka shumë më tepër në lidhje 170 00:07:01,800 --> 00:07:03,190 Implikimet e këtyre llojet e gjërave. 171 00:07:03,190 --> 00:07:05,450 Dhe një nga arsyet të zhyten në fushën e kompjuterit 172 00:07:05,450 --> 00:07:07,620 shkenca është, përsëri, zbatueshmëria e tij të mos 173 00:07:07,620 --> 00:07:09,740 inxhinieri shkenca vetëm, por vetëm për 174 00:07:09,740 --> 00:07:10,650 fusha të tjera si. 175 00:07:10,650 --> 00:07:14,760 Pra, kjo është një vështrim pak lighthearted se çfarë mund të shkojnë keq, por 176 00:07:14,760 --> 00:07:17,630 ajo është gjithashtu mjaft e hapjes sy, unë mendoj se, kur është fjala për 177 00:07:17,630 --> 00:07:20,760 kuptuar saktësisht se si i gjithëpranishëm teknologjive si 178 00:07:20,760 --> 00:07:22,870 kompjutera dhe programimi apo këto ditë, 179 00:07:22,870 --> 00:07:23,930 në formën e software. 180 00:07:23,930 --> 00:07:26,500 Pra, ky klip tjetër është vetëm rreth gjashtë minuta, vazhdon 181 00:07:26,500 --> 00:07:30,320 ku ne u ndërpre për herë të fundit, por na lejon të shohim pak 182 00:07:30,320 --> 00:07:33,370 më në thellësi në një nga këto çështje të tillë. 183 00:07:33,370 --> 00:07:35,270 Më lejoni të kaloni përpara për të ku ne u ndërpre, 184 00:07:35,270 --> 00:07:37,780 që është e drejtë këtu. 185 00:07:37,780 --> 00:07:41,580 Dhe ne kemi pjesën e dytë të dy, për rreth gjashtë minuta këtu. 186 00:07:41,580 --> 00:07:41,980 >> [PLAY MOVIE] 187 00:07:41,980 --> 00:07:45,430 Rrënuar teknologji moderne raketash. 188 00:07:45,430 --> 00:07:49,280 Në vitin 1991, me fillimin e Luftës së parë të Gjirit, të Patriot 189 00:07:49,280 --> 00:07:51,350 raketave përjetuar një lloj të ngjashëm të 190 00:07:51,350 --> 00:07:52,645 konvertimit numri problem. 191 00:07:52,645 --> 00:07:57,460 Dhe si rezultat, 20 njerëz, 20 ushtarë amerikanë, janë vrarë 192 00:07:57,460 --> 00:08:01,130 dhe rreth 100 të tjerë u plagosën, kur Patriot, e cila ishte menduar 193 00:08:01,130 --> 00:08:03,400 për të mbrojtur kundër Scuds hyrëse, 194 00:08:03,400 --> 00:08:06,020 dështuar të zjarrit një raketë. 195 00:08:06,020 --> 00:08:09,350 >> Kur Iraku pushtoi Kuvajtin dhe Amerika filloi një shkretëtirë 196 00:08:09,350 --> 00:08:13,530 Stuhia në vitin 1991 e hershme, raketa Patriot bateritë ishin 197 00:08:13,530 --> 00:08:16,970 vendosur për të mbrojtur Arabinë Saudite dhe Izraeli, nga Irakut 198 00:08:16,970 --> 00:08:19,810 Raketa Skud sulmet. 199 00:08:19,810 --> 00:08:23,740 Patriot është një medium-varg amerikane tokë-ajër të sistemit, 200 00:08:23,740 --> 00:08:26,370 prodhuar nga kompania Raytheon. 201 00:08:26,370 --> 00:08:30,860 Madhësia e interceptorëve Patriot vetë, është në lidhje 202 00:08:30,860 --> 00:08:35,650 afërsisht 20 metra e gjatë dhe peshon rreth £ 2000. 203 00:08:35,650 --> 00:08:38,809 Dhe ajo mbart një kokë rakete prej rreth - Unë mendoj se është afërsisht 204 00:08:38,809 --> 00:08:40,169 £ 150. 205 00:08:40,169 --> 00:08:45,820 Dhe mbushjen vetvete është një eksploziv i lartë i cili ka 206 00:08:45,820 --> 00:08:48,120 fragmente rreth tij. 207 00:08:48,120 --> 00:08:51,870 Shtresë e jashtme e mbushje është projektuar për të vepruar si buckshot. 208 00:08:51,870 --> 00:08:54,920 Raketat janë kryer katër për enë dhe janë 209 00:08:54,920 --> 00:08:57,850 transportohen nga një rimorkio gjysmë. 210 00:08:57,850 --> 00:09:02,940 >> Anti-raketë Patriot sistemi shkon prapa të paktën në 211 00:09:02,940 --> 00:09:05,530 20 vjet tani. 212 00:09:05,530 --> 00:09:09,150 Ajo ishte projektuar fillimisht si një raketë e mbrojtjes ajrore të 213 00:09:09,150 --> 00:09:12,920 xhiruar poshtë aeroplanë të armikut, në Luftën e parë të Gjirit. 214 00:09:12,920 --> 00:09:17,700 Kur se lufta erdhi së bashku, Ushtria donte të përdorin atë për të xhiruar 215 00:09:17,700 --> 00:09:19,880 poshtë Scuds jo, aeroplanë. 216 00:09:19,880 --> 00:09:24,860 Forcat Ajrore Irakut nuk ishte aq shumë e një problemi, por ushtria 217 00:09:24,860 --> 00:09:27,260 ishte i shqetësuar në lidhje me Scuds. 218 00:09:27,260 --> 00:09:30,810 Dhe kështu ata u përpoqën për të përmirësuar Patriot. 219 00:09:30,810 --> 00:09:33,770 Intercepting një raketë armik udhëtojnë në Mach 5 ishte duke shkuar 220 00:09:33,770 --> 00:09:35,790 për të sfiduese mjaftueshme. 221 00:09:35,790 --> 00:09:39,460 Por kur Patriot u nxituan në shërbim, ushtria 222 00:09:39,460 --> 00:09:43,730 nuk ishte në dijeni të një modifikim të Irakut që e bëri e tyre 223 00:09:43,730 --> 00:09:46,510 Scuds gati e pamundur për të goditur. 224 00:09:46,510 --> 00:09:50,040 >> Çfarë ka ndodhur është Scuds që ishin 225 00:09:50,040 --> 00:09:51,360 vijnë në ishin të paqëndrueshme. 226 00:09:51,360 --> 00:09:52,266 Ata ishin luhatja. 227 00:09:52,266 --> 00:09:56,300 Arsyeja për këtë ishte se irakianët, në mënyrë që të merrni 600 228 00:09:56,300 --> 00:10:00,650 kilometra jashtë e një rakete me rreze 300 km, mori 229 00:10:00,650 --> 00:10:02,423 pesha nga mbushje përparme dhe 230 00:10:02,423 --> 00:10:03,990 bërë mbushjen lehta. 231 00:10:03,990 --> 00:10:08,700 Deri tani Patriot është duke u përpjekur për të ardhur në Skud, dhe shumica e 232 00:10:08,700 --> 00:10:11,192 koha, shumica dërrmuese e kohës, kjo do të 233 00:10:11,192 --> 00:10:13,450 vetëm fluturojnë nga Skud. 234 00:10:13,450 --> 00:10:16,300 Pasi operatorët e sistemit Patriot realizuar Patriot 235 00:10:16,300 --> 00:10:20,160 humbur objektivin e saj, ata shpërthyen në kokë rakete Patriot. 236 00:10:20,160 --> 00:10:22,760 Për të shmangur viktimat e mundshme, ajo u lejua 237 00:10:22,760 --> 00:10:25,100 të bjerë në tokë. 238 00:10:25,100 --> 00:10:29,400 Kjo ishte ajo që shumica e njerëzve e panë, si fireballs mëdha në qiell, 239 00:10:29,400 --> 00:10:34,930 dhe keqkuptuar si interceptimin e raketave Skud. 240 00:10:34,930 --> 00:10:37,490 >> Edhe pse, në qiellin e natës, patriotë duket të jetë 241 00:10:37,490 --> 00:10:41,570 Scuds shkatërruar me sukses, në Dhahran, nuk mund të ketë 242 00:10:41,570 --> 00:10:43,730 gabim në lidhje me punën e saj. 243 00:10:43,730 --> 00:10:46,370 Atje, sistemi i radarëve Patriot i humbur gjurmët e një 244 00:10:46,370 --> 00:10:50,090 Skud në hyrje dhe kurrë nuk filloi për shkak 245 00:10:50,090 --> 00:10:51,340 tek një krisje software. 246 00:10:54,030 --> 00:10:57,050 Ai ishte i pari që izraelitët zbuluar se më 247 00:10:57,050 --> 00:11:02,000 sistemi ishte në, aq më i madh mospërputhja kohë u bë, 248 00:11:02,000 --> 00:11:05,530 për shkak të një orë ngulitur në kompjuterin e sistemit. 249 00:11:05,530 --> 00:11:09,060 Rreth dy javë para tragjedisë në Dhahran, The 250 00:11:09,060 --> 00:11:11,730 Izraelitët raportuar në Departamentin e Mbrojtjes se 251 00:11:11,730 --> 00:11:13,250 Sistemi ishte duke humbur kohë. 252 00:11:13,250 --> 00:11:15,610 Pas rreth tetë orë në punë, kanë vërejtur se 253 00:11:15,610 --> 00:11:18,330 Sistemi është duke u bërë dukshëm më pak i saktë. 254 00:11:18,330 --> 00:11:20,910 Departamenti i Mbrojtjes u përgjigj duke i thënë të gjitha 255 00:11:20,910 --> 00:11:23,710 the Patriot bateritë që të mos largohen nga sistemet 256 00:11:23,710 --> 00:11:25,450 për një kohë të gjatë. 257 00:11:25,450 --> 00:11:28,010 Ata kurrë nuk tha se çfarë është një kohë të gjatë ishte - 8 orë, 10 258 00:11:28,010 --> 00:11:29,690 orë, 1,000 orë. 259 00:11:29,690 --> 00:11:31,940 Askush nuk e dinte. 260 00:11:31,940 --> 00:11:35,020 >> Bateria Patriot vendosur në kazermat në Dhahran 261 00:11:35,020 --> 00:11:39,030 dhe ora meta e saj të brendshme kishin qenë në më shumë se 100 orë në 262 00:11:39,030 --> 00:11:42,240 nata e 25 shkurt. 263 00:11:42,240 --> 00:11:46,580 Është koha për të gjurmuar një saktësi prej rreth një të dhjetën e një të dytë. 264 00:11:46,580 --> 00:11:48,830 Tani një e dhjeta e dytë është një numër interesante sepse 265 00:11:48,830 --> 00:11:52,660 ajo nuk mund të shprehet në binar, saktësisht, që do të thotë 266 00:11:52,660 --> 00:11:54,940 ajo nuk mund të shprehet saktësisht në ndonjë 267 00:11:54,940 --> 00:11:57,330 kompjuteri modern dixhital. 268 00:11:57,330 --> 00:11:59,130 Është e vështirë të besohet. 269 00:11:59,130 --> 00:12:01,720 Por përdorin këtë si një shembull. 270 00:12:01,720 --> 00:12:04,090 >> Le të marrë numrin një të tretën. 271 00:12:04,090 --> 00:12:07,950 Një e treta nuk mund të shprehet në decimal, pikërisht. 272 00:12:07,950 --> 00:12:12,710 Një e treta e 0,333 vazhduar për pafundësi. 273 00:12:12,710 --> 00:12:17,050 Nuk ka asnjë mënyrë për të bërë këtë me saktësi absolute në decimal. 274 00:12:17,050 --> 00:12:19,340 Kjo është saktësisht të njëjtin lloj problemi që ka ndodhur në 275 00:12:19,340 --> 00:12:20,190 Patriot. 276 00:12:20,190 --> 00:12:24,680 Sa më gjatë që sistemi u, më keq gabim kohë u bë. 277 00:12:24,680 --> 00:12:28,640 Pas 100 orësh operacion, gabim në atë kohë ishte vetëm 278 00:12:28,640 --> 00:12:29,870 Rreth një e treta e një të dytë. 279 00:12:29,870 --> 00:12:34,790 Por në drejtim të synimeve të dhënësit të një raketë udhëtonte në Mach 5, 280 00:12:34,790 --> 00:12:39,140 kjo ka rezultuar në një gabim ndjekja e mbi 600 metra. 281 00:12:39,140 --> 00:12:42,510 Ajo do të jetë një gabim fatal për ushtarët në Dhahran. 282 00:12:42,510 --> 00:12:48,680 >> Çfarë ka ndodhur është një nisjen Skud u zbulua nga paralajmërimin e hershëm 283 00:12:48,680 --> 00:12:52,440 satelitë dhe ata e dinin se Skud u vijnë në e tyre 284 00:12:52,440 --> 00:12:53,350 Drejtimi i përgjithshëm. 285 00:12:53,350 --> 00:12:55,470 Ata nuk e dinë se ku ai po vinte. 286 00:12:55,470 --> 00:12:58,210 Ajo tani ishte deri në komponentin e radarëve Patriot 287 00:12:58,210 --> 00:13:01,920 sistemit, mbrojtjen Dhahran, për të gjetur dhe për të mbajtur gjurmët e 288 00:13:01,920 --> 00:13:03,700 raketave në hyrje armikut. 289 00:13:03,700 --> 00:13:05,390 Radari ishte shumë i zgjuar. 290 00:13:05,390 --> 00:13:07,570 Ju në fakt do të ndjekur qëndrimin e Skud dhe pastaj 291 00:13:07,570 --> 00:13:10,340 parashikojnë ku ajo ndoshta do të jetë hera e ardhshëm 292 00:13:10,340 --> 00:13:12,040 radar dërguar një impuls jashtë. 293 00:13:12,040 --> 00:13:13,730 Kjo u quajt porta e varg. 294 00:13:13,730 --> 00:13:18,820 Pastaj, sapo vendos Patriot kohë të mjaftueshme ka kaluar për të shkuar 295 00:13:18,820 --> 00:13:22,600 mbështetur dhe kontrolloni vendin tjetër për këtë zbuluara 296 00:13:22,600 --> 00:13:24,190 objekt, ajo shkon prapa. 297 00:13:24,190 --> 00:13:27,940 Pra, kur ai u kthye në vendin e gabuar, atëherë nuk sheh 298 00:13:27,940 --> 00:13:31,000 kundërshtojnë, dhe ajo vendos se nuk kishte asnjë objekt. 299 00:13:31,000 --> 00:13:34,370 Kjo ishte një zbulimi të rreme dhe bie pista. 300 00:13:34,370 --> 00:13:37,630 >> The Skud në hyrje zhdukur nga ekrani i radarit. 301 00:13:37,630 --> 00:13:41,300 Dhe sekonda më vonë, ajo u përplas në kazermë. The Skud 302 00:13:41,300 --> 00:13:44,730 28 të vrarë dhe ishte i fundit gjuajtur gjatë 303 00:13:44,730 --> 00:13:46,450 i pari Luftës së Gjirit. 304 00:13:46,450 --> 00:13:50,570 Tragjikisht, software updated arriti në Dhahran 305 00:13:50,570 --> 00:13:52,060 nesërmen. 306 00:13:52,060 --> 00:13:56,210 Dhe metë software ishte fiksuar, duke mbyllur një kapitull në 307 00:13:56,210 --> 00:13:58,370 historia e trazuar e raketave Patriot. 308 00:14:01,790 --> 00:14:04,990 Patriot është në fakt një akronim për "Ndjekja Array faza 309 00:14:04,990 --> 00:14:08,516 Ndërpres të synuar. " 310 00:14:08,516 --> 00:14:13,390 >> Të gjithë të drejtë, kështu që një rezultat shumë më të pikëlluar se nuk mjaft 311 00:14:13,390 --> 00:14:14,430 kuptuar këtë botë. 312 00:14:14,430 --> 00:14:18,180 Dhe takeaway, me të vërtetë, nga filmi është se zgjidhja 313 00:14:18,180 --> 00:14:20,790 u ristartoni sistemin mbrojtës nga raketat tuaj 314 00:14:20,790 --> 00:14:21,770 çdo herë në një kohë. 315 00:14:21,770 --> 00:14:24,280 Dhe kështu përsëri, një prej qëllimeve të këtij kursi, sigurisht 316 00:14:24,280 --> 00:14:26,900 në një shkallë më të përulur se këtyre kërkesave, është që të 317 00:14:26,900 --> 00:14:30,710 Sytë e të gjithëve me të vërtetë hapura për të pikërisht si ju shkoni në lidhje me 318 00:14:30,710 --> 00:14:34,380 Makinat bërë bëni atë që ju doni ta bëni dhe si ju shkoni 319 00:14:34,380 --> 00:14:37,180 për të bërë që të saktë, ndërsa gjatë rrugës duke e bërë atë 320 00:14:37,180 --> 00:14:38,810 mirë, elegante, dhe kështu me radhë. 321 00:14:38,810 --> 00:14:41,680 Dhe kështu sot, le të zhyten në një pak më shumë për këtë, por 322 00:14:41,680 --> 00:14:44,210 kështu që ne nuk do të shkojnë shumë shpejt, sidomos për ata më pak 323 00:14:44,210 --> 00:14:46,590 rehatshme, por edhe kështu që ne mund të mbajë interesin e 324 00:14:46,590 --> 00:14:49,390 ato më të rehatshme, le të vetëm të shpejt të fillojë me pak 325 00:14:49,390 --> 00:14:50,970 e radhitje e disa prej këtyre ideve. 326 00:14:50,970 --> 00:14:53,710 Dhe përsëri, pyesni larg, si në personin ose në internet, nëse ju keni 327 00:14:53,710 --> 00:14:56,320 Pyetjet kështu që ne mund të mbajë të gjithë në të njëjtën faqe. 328 00:14:56,320 --> 00:14:58,820 >> Pra CS50 Appliance, hap të shpejtë mbrapa, është 329 00:14:58,820 --> 00:15:02,360 çka, me fjalët tuaja? 330 00:15:02,360 --> 00:15:06,454 Është në rregull nëse ju nuk kanë idenë se çfarë ato fjalë mund të jetë ende. 331 00:15:06,454 --> 00:15:07,830 [E padëgjueshme] 332 00:15:07,830 --> 00:15:10,950 Mirë, kështu që një ndërfaqe universale për - 333 00:15:10,950 --> 00:15:11,900 që ne të gjithë mund të ndajnë. 334 00:15:11,900 --> 00:15:12,470 Absolutisht. 335 00:15:12,470 --> 00:15:14,840 Pra, ne mund të, për shembull, ju them për të shkuar në disa 336 00:15:14,840 --> 00:15:16,910 internetit, shkarkoni këtë softuer për Mac OS. 337 00:15:16,910 --> 00:15:19,140 Shkarko këtë softuer për Windows, konfiguroni në 338 00:15:19,140 --> 00:15:20,100 në këtë mënyrë dhe se. 339 00:15:20,100 --> 00:15:22,370 Por realiteti është atëherë ne të kandidojë në të panumërta teknike 340 00:15:22,370 --> 00:15:23,200 mbështetur çështje. 341 00:15:23,200 --> 00:15:26,630 Dhe gjithashtu këto ditë, shumë nga ajo që është duke u bërë krah server, 342 00:15:26,630 --> 00:15:28,490 në botën e informatikes, sidomos kur është fjala për 343 00:15:28,490 --> 00:15:31,460 web zhvillim dhe aplikimet web bazuar, është në të vërtetë 344 00:15:31,460 --> 00:15:35,110 mjaft shpesh bëhet në Unix ose Linux kompjutera, në krahasim me 345 00:15:35,110 --> 00:15:36,800 Macs PC apo Windows. 346 00:15:36,800 --> 00:15:39,240 >> Pra, midis upsides, pastaj, duke përdorur këtë gjë të quajtur 347 00:15:39,240 --> 00:15:41,500 CS50 Appliance është që ne do të kemi të gjithë të njëjtin ambient. 348 00:15:41,500 --> 00:15:43,670 Pra, të gjithë e në të njëjtën faqe pa marrë parasysh se çfarë hardware që ju 349 00:15:43,670 --> 00:15:46,650 erdhi në kampus me të, por gjithashtu do të dabbling pikërisht 350 00:15:46,650 --> 00:15:48,230 mjedisi njëjta që ju do të jetë duke përdorur drejt 351 00:15:48,230 --> 00:15:51,080 Fundi semestrit si edhe për web zhvillim, si dhe në 352 00:15:51,080 --> 00:15:53,580 ardhmen për aplikimet botës reale të tyre. 353 00:15:53,580 --> 00:15:56,350 Pra më konkretisht, Appliance CS50 është një pjesë e lirë e 354 00:15:56,350 --> 00:15:59,400 software që ju lejon të kandidojë një sistem tjetër operativ, 355 00:15:59,400 --> 00:16:02,670 Linux, në këtë rast, në kompjuterin tuaj, në një dritare. 356 00:16:02,670 --> 00:16:04,750 Tani ju nuk mund të shkarkoni aplikim. 357 00:16:04,750 --> 00:16:08,170 Keni nevojë për një program me të cilin do të luajë apo të drejtuar pajisjen. 358 00:16:08,170 --> 00:16:11,220 Dhe kjo pjesë e software është i njohur përgjithësisht si një 359 00:16:11,220 --> 00:16:11,520 hypervisor. 360 00:16:11,520 --> 00:16:14,050 Hypervisors vijnë në formën e produkteve si VMware, 361 00:16:14,050 --> 00:16:15,820 Box Virtual, Paralele. 362 00:16:15,820 --> 00:16:18,390 Të gjitha llojet e kompanive të bëjë software, dy të lirë dhe 363 00:16:18,390 --> 00:16:19,310 komerciale, njësoj. 364 00:16:19,310 --> 00:16:21,480 Çfarë ju do të shihni në Set 1 Problem janë udhëzime se si të 365 00:16:21,480 --> 00:16:23,440 të marrë software të lirë me të cilin do të 366 00:16:23,440 --> 00:16:25,000 drejtuar Appliance CS50. 367 00:16:25,000 --> 00:16:28,060 Dhe një herë ju bëni, ju do të keni në një dritare në Mac apo PC tuaj, 368 00:16:28,060 --> 00:16:30,710 një mjedis desktop që duket mjaft si kjo, ku 369 00:16:30,710 --> 00:16:33,100 ajo ka një gjë e Fillimit menu-si në 370 00:16:33,100 --> 00:16:34,510 fund majtë qoshe. 371 00:16:34,510 --> 00:16:38,030 Ajo ka një dosje në shtëpi, apo directory shtëpi, në të majtë të lartë 372 00:16:38,030 --> 00:16:40,280 atje, një plehra mund, dhe kështu me radhë. 373 00:16:40,280 --> 00:16:43,450 Pra, ne do të vë në lojë përveç detajet e nevojshme si ne do të shkojmë. 374 00:16:43,450 --> 00:16:46,430 >> Por tani le të fillojë të zhyten në C. 375 00:16:46,430 --> 00:16:49,200 Pra C është kjo gjuhë programimi, të ngjashme në frymë të 376 00:16:49,200 --> 00:16:52,390 Zeroja, por shumë më pak grafike, por për ironi, tani 377 00:16:52,390 --> 00:16:54,730 më të fuqishme sapo ju të merrni tru me të. 378 00:16:54,730 --> 00:16:58,970 Pra në C, kemi shkruar programe duke shkruar kodin burim, i cili është 379 00:16:58,970 --> 00:17:01,640 kjo Anglisht-si sintaksë, të ngjashme me çorape 380 00:17:01,640 --> 00:17:05,609 Demonstrata që ne e bëmë herën e fundit që ju lejon të 381 00:17:05,609 --> 00:17:07,910 shprehin veten mjaft saktësisht, nëse 382 00:17:07,910 --> 00:17:09,760 arcanely, tek kompjuter. 383 00:17:09,760 --> 00:17:11,960 >> Pra, çfarë lloji të programeve të produktit keni vërtetë nevojë 384 00:17:11,960 --> 00:17:15,520 për të shkruar programe në një gjuhë si C, të bazuar në tonë 385 00:17:15,520 --> 00:17:17,492 Biseda të hënën? 386 00:17:17,492 --> 00:17:19,650 [E padëgjueshme] 387 00:17:19,650 --> 00:17:21,079 OK, ju vetëm duhet një editor teksti. 388 00:17:21,079 --> 00:17:22,890 Ju nuk keni nevojë për ndonjë softuer të veçantë 389 00:17:22,890 --> 00:17:24,460 në vetvete për të shkruar programe. 390 00:17:24,460 --> 00:17:27,220 Ju duhet vetëm një editor teksti si Notepad-in, në Windows, 391 00:17:27,220 --> 00:17:30,450 TextEdit në Mac, ose diçka të quajtur gedit, në të botës e 392 00:17:30,450 --> 00:17:32,020 Linux, të cilat ne do të përdorim këtu. 393 00:17:32,020 --> 00:17:33,750 Dhe kjo është ajo, për të shkruar programet. 394 00:17:33,750 --> 00:17:35,480 >> Por shkrim është vetëm gjysma e ekuacionit. 395 00:17:35,480 --> 00:17:36,630 Atëherë ju duhet të drejtuar ata. 396 00:17:36,630 --> 00:17:38,320 Por në mënyrë që të drejtuar programet - 397 00:17:38,320 --> 00:17:39,600 ju nuk mund të kandidojë kodin burim. 398 00:17:39,600 --> 00:17:41,500 Ju në vend të kësaj duhet të bëni atë për të parë? 399 00:17:41,500 --> 00:17:41,900 Po. 400 00:17:41,900 --> 00:17:43,200 DAVID J. Malan: Ju duhet të 401 00:17:43,200 --> 00:17:44,130 përpiloni atë. 402 00:17:44,130 --> 00:17:49,010 Dhe, dikush tjetër, hartimin e kodit burimor të thotë - 403 00:17:49,010 --> 00:17:50,260 [E padëgjueshme] 404 00:17:52,300 --> 00:17:52,700 DAVID J. Malan: Pikërisht. 405 00:17:52,700 --> 00:17:54,430 Përkthimin atë në zero dhe ato. 406 00:17:54,430 --> 00:17:57,150 Sepse të gjithë ne, këto ditë, kanë kompjuterë që kanë CPUs, 407 00:17:57,150 --> 00:18:00,350 pothuajse të gjithë që janë bërë nga një kompani e quajtur Intel, dhe 408 00:18:00,350 --> 00:18:03,320 Intel Brenda, do të thotë se kjo brenda truri i juaj 409 00:18:03,320 --> 00:18:04,990 kompjuter, i njohur si CPU. 410 00:18:04,990 --> 00:18:07,570 Dhe një nga gjërat që bën që truri është, ai e di 411 00:18:07,570 --> 00:18:10,390 si për të kuptuar modelet e zero dhe ato. 412 00:18:10,390 --> 00:18:13,240 Ai e di se çfarë modeli i përfaqëson bit shtesë, çfarë 413 00:18:13,240 --> 00:18:15,500 model përfaqëson ZBRITJET, çfarë modeli i 414 00:18:15,500 --> 00:18:18,890 bit përfaqësojnë shtypjen, dhe krijimin e një tingull zanor. 415 00:18:18,890 --> 00:18:22,450 >> Pra me pak fjalë, CPU, së bashku me sistemin operativ, 416 00:18:22,450 --> 00:18:25,230 cila është një pjesë e software që shkon në majë të CPU, 417 00:18:25,230 --> 00:18:26,050 mënyrë që të flasin. 418 00:18:26,050 --> 00:18:29,850 Së bashku, këto dy copa e di se si për të drejtuar programet që 419 00:18:29,850 --> 00:18:31,070 ne njerëzit shkruajnë. 420 00:18:31,070 --> 00:18:34,040 >> Pra, nëse unë shkoj në Appliance CS50 këtu, kam nevojë për të hapur 421 00:18:34,040 --> 00:18:35,660 deri një editor teksti dhe unë mund të hyni në këtë 422 00:18:35,660 --> 00:18:36,560 në disa mënyra. 423 00:18:36,560 --> 00:18:39,060 Unë mund të shkoni në Menu, Programim, 424 00:18:39,060 --> 00:18:40,230 dhe pastaj unë mund të zgjidhni - 425 00:18:40,230 --> 00:18:40,810 Jo, jo se menu. 426 00:18:40,810 --> 00:18:43,860 Unë mund të shkoj në Accessories / gedit këtu për të hapur 427 00:18:43,860 --> 00:18:45,090 editor teksti pak e mia. 428 00:18:45,090 --> 00:18:48,030 Ose më thjesht, unë mund të klikoni këtë ikonë të vogël në fund 429 00:18:48,030 --> 00:18:48,970 qoshe majtë. 430 00:18:48,970 --> 00:18:50,430 Dhe tani kam marrë këtë mjedis këtu. 431 00:18:50,430 --> 00:18:52,590 Kjo është goxha e kujton një editor teksti të thjeshtë, me vetëm 432 00:18:52,590 --> 00:18:53,820 një ose dy dallime. 433 00:18:53,820 --> 00:18:56,420 Në krye, ku kursori është keq tani, ky është vendi ku 434 00:18:56,420 --> 00:18:57,900 Unë mund të filloni të shkruani kodin tim. 435 00:18:57,900 --> 00:19:00,415 Në fund është kjo gjë quhet dritare terminali. 436 00:19:00,415 --> 00:19:03,400 Dhe çfarë llojet e gjërave mund të bëj unë në këtë 437 00:19:03,400 --> 00:19:04,960 ashtu-quajtur dritare terminali? 438 00:19:04,960 --> 00:19:06,680 [E padëgjueshme] 439 00:19:06,680 --> 00:19:07,890 >> Mirë, kështu që unë do të kandidojë komandat. 440 00:19:07,890 --> 00:19:10,300 Dhe disa nga komandat ne u të hënën ishin pak 441 00:19:10,300 --> 00:19:15,070 fshehta në fillim, por për ls listë, cd per directory ndryshimit, 442 00:19:15,070 --> 00:19:16,540 rm, për të hequr. 443 00:19:16,540 --> 00:19:19,680 Pra, kjo është lloj i një mënyrë e vjetër-shkollën e lundrimit tuaj 444 00:19:19,680 --> 00:19:22,310 kompjuter, duke përdorur vetëm tastierën tuaj dhe komandat tekstuale, 445 00:19:22,310 --> 00:19:24,130 dhe jo, në përgjithësi, duke përdorur një mouse. 446 00:19:24,130 --> 00:19:25,960 Por ne do të shohim, para se të gjatë, ky fakt na jep një 447 00:19:25,960 --> 00:19:28,520 pak më shumë pushtet dhe saktësi pak më shumë me të cilin do të 448 00:19:28,520 --> 00:19:29,600 shprehin veten. 449 00:19:29,600 --> 00:19:31,330 Dhe pastaj mbi këtu në të majtë, ne jemi vetëm duke shkuar për të parë, 450 00:19:31,330 --> 00:19:34,360 si ne të fillojnë software shkrim, një përmbledhje pak 451 00:19:34,360 --> 00:19:36,350 Programi që ne kemi shkruar në të majtë të lartë. 452 00:19:36,350 --> 00:19:38,360 Por ne do të shohim që përsëri para se të gjatë. 453 00:19:38,360 --> 00:19:40,050 >> Pra, le të bëjë diçka mjaft të thjeshtë këtu. 454 00:19:40,050 --> 00:19:43,440 Më lejoni së pari të shkojnë përpara dhe shkoni tek File, Save, dhe unë jam vetëm 455 00:19:43,440 --> 00:19:45,970 do të klikoni mbi jharvard këtu, gjatë në të majtë, dhe 456 00:19:45,970 --> 00:19:48,930 jharvard është, përsëri, emër për dosjen time në shtëpi, im 457 00:19:48,930 --> 00:19:52,110 fotografi personale, mua, tani po John Harvardit, si të gjithë ju 458 00:19:52,110 --> 00:19:54,230 shpejti do të jetë John Harvard në këtë mjedis. 459 00:19:54,230 --> 00:19:57,360 Ai e mori këtë directory shtëpi, Dokumentet e mia dhe kështu me radhë, 460 00:19:57,360 --> 00:19:58,900 që unë dua të të shpëtuar, tani, këtë fotografi in 461 00:19:58,900 --> 00:20:01,520 Kështu që unë jam duke shkuar për të thirrur atë hello.c. Atëherë unë jam duke shkuar për të shkuar 462 00:20:01,520 --> 00:20:05,770 përpara dhe klikoni Save, dhe tani ajo që unë kam këtu është një tab 463 00:20:05,770 --> 00:20:09,440 quajtur hello.c, aq shumë si një lloj tjetër të redaktorit. 464 00:20:09,440 --> 00:20:11,760 >> Kështu që tani më lejoni të shkoj përpara dhe të filloni të shkruani një program. 465 00:20:11,760 --> 00:20:14,440 int main (void). 466 00:20:14,440 --> 00:20:18,150 Dhe atëherë unë vetëm e bëri për herë të fundit, printf për shtyp formatuar, 467 00:20:18,150 --> 00:20:22,120 ("Hello, World!" 468 00:20:22,120 --> 00:20:24,500 );. 469 00:20:24,500 --> 00:20:25,630 Pothuajse i plotë. 470 00:20:25,630 --> 00:20:27,130 Por unë jam humbur një çift të dhënat. 471 00:20:27,130 --> 00:20:30,210 Çfarë është zhdukur nga ky program që unë me të vërtetë nevojë për 472 00:20:30,210 --> 00:20:31,890 ajo që në fakt hartojnë? 473 00:20:31,890 --> 00:20:32,130 Po. 474 00:20:32,130 --> 00:20:33,980 [E padëgjueshme]? 475 00:20:33,980 --> 00:20:35,770 >> DAVID J. Malan: Yeah, kështu që unë duhet të përfshijë standarde 476 00:20:35,770 --> 00:20:36,700 I / O bibliotekë. 477 00:20:36,700 --> 00:20:39,470 Pra, kjo duhet të shkojë më lart kryesor, kështu që unë jam vetëm do të 478 00:20:39,470 --> 00:20:40,790 të bëjë hapësirë ​​për atë atje. 479 00:20:40,790 --> 00:20:44,420 Dhe unë jam duke shkuar për të bërë # include . 480 00:20:44,420 --> 00:20:46,570 Dhe vini re kllapa angled atje. 481 00:20:46,570 --> 00:20:49,410 Dhe si një mënjanë, gedit është një përdorues pak miqësore, në qoftë se 482 00:20:49,410 --> 00:20:52,420 nganjëherë pak konfuze, në atë që përpiqet për të ndihmuar tuaj 483 00:20:52,420 --> 00:20:54,770 Sytë njoftim se çfarë linja me çfarë. 484 00:20:54,770 --> 00:20:57,760 Pra, fakti që kursori im është e drejtë tjetër për këtë angled 485 00:20:57,760 --> 00:21:00,600 kllapa, vëreni se si është theksuar kënddrejtë tjera 486 00:21:00,600 --> 00:21:01,920 kllapa plus këtë. 487 00:21:01,920 --> 00:21:03,770 Dhe kjo është vetëm për të tërhequr vëmendjen time për faktin se unë 488 00:21:03,770 --> 00:21:04,460 kanë simetri. 489 00:21:04,460 --> 00:21:07,010 Dhe simetri në programimin e në përgjithësi është një gjë e mirë. 490 00:21:07,010 --> 00:21:10,270 Në mënyrë të ngjashme, në qoftë se unë të lëvizur kursorin e mia deri në fund, vini re se si 491 00:21:10,270 --> 00:21:13,630 formatimin e teksteve kaçurrel vijë deri për të treguar se, po, unë kam një e hapur 492 00:21:13,630 --> 00:21:15,160 dhe një mbyllur, mënyrë që të flasin. 493 00:21:15,160 --> 00:21:16,640 >> Të gjithë të drejtë, dhe unë mund të bëjë një gjë tjetër. 494 00:21:16,640 --> 00:21:20,090 Kjo nuk është e domosdoshme, por praktikë e mirë, për të thënë 495 00:21:20,090 --> 00:21:21,250 0 kthehen. 496 00:21:21,250 --> 00:21:24,140 Dhe 0 kthimin e bën atë për ne këtu? 497 00:21:24,140 --> 00:21:25,584 Ose të thotë çfarë? 498 00:21:25,584 --> 00:21:27,480 [E padëgjueshme] 499 00:21:27,480 --> 00:21:28,300 DAVID J. Malan: Por asgjë nuk është e gabuar. 500 00:21:28,300 --> 00:21:30,280 Dhe sinqerisht kjo është e vështirë për shumë të shkojnë keq në një 501 00:21:30,280 --> 00:21:31,250 këtë program të shkurtër. 502 00:21:31,250 --> 00:21:33,930 Kështu që unë jam vetëm duke u super të qartë se të gjitha është mirë. 503 00:21:33,930 --> 00:21:36,740 Unë, njeriu, kur kam drejtuar këtë program, do të ndoshta kurrë 504 00:21:36,740 --> 00:21:38,150 shihni se 0. 505 00:21:38,150 --> 00:21:41,070 Në përgjithësi, këto shifra që janë duke u kthyer nga kryesore 506 00:21:41,070 --> 00:21:43,540 vetëm pasme kokat e tyre tek njerëzit kur 507 00:21:43,540 --> 00:21:44,360 diçka shkon keq. 508 00:21:44,360 --> 00:21:46,640 Dhe ju merrni një pop up pak gabim sistemit thënë, një, 509 00:21:46,640 --> 00:21:48,760 dy, tre, apo çfarëdo numri ishte se 510 00:21:48,760 --> 00:21:50,100 u kthye në të vërtetë. 511 00:21:50,100 --> 00:21:52,870 Pra, çdo gjë tjetër të keqe me këtë? 512 00:21:52,870 --> 00:21:55,300 [E padëgjueshme] 513 00:21:55,300 --> 00:21:58,100 >> DAVID J. Malan: Pra, kjo nuk është aq shumë një gabim funksionale 514 00:21:58,100 --> 00:21:59,240 por një estetike. 515 00:21:59,240 --> 00:22:02,340 Unë ndoshta duhet të vënë në një karakter newline atje në 516 00:22:02,340 --> 00:22:05,240 fund të këtij vargut në mënyrë që ne të vërtetë të lëvizur kursorin në 517 00:22:05,240 --> 00:22:08,340 linjë tjetër, dhe programi i vetëm duket pak prettier. 518 00:22:08,340 --> 00:22:10,340 >> Kështu që tani më lejoni të shkoj poshtë në dritaren time terminal 519 00:22:10,340 --> 00:22:11,490 dhe zoom in mbrapa 520 00:22:11,490 --> 00:22:13,390 Dhe kjo gjë këtu, ajo që quhet shpejtë. 521 00:22:13,390 --> 00:22:16,760 Është vetëm kujtuar mua që unë jam, jharvard @ aplikim, ku 522 00:22:16,760 --> 00:22:18,850 aplikim është emri i kompjuterit unë jam në. 523 00:22:18,850 --> 00:22:22,380 Në kllapa është kjo tildë, simbol squiggle, e cila 524 00:22:22,380 --> 00:22:24,160 përfaqëson çfarë? 525 00:22:24,160 --> 00:22:25,590 Audienca: Faqja directory. 526 00:22:25,590 --> 00:22:26,350 DAVID J. Malan: Faqja directory. 527 00:22:26,350 --> 00:22:29,350 Pra, kjo është vetëm një simbol stenografi për të thënë ju jeni në 528 00:22:29,350 --> 00:22:32,780 dosjen tuaj personale, ku të gjitha dosjet tuaja të shkojnë by default. 529 00:22:32,780 --> 00:22:36,080 Deri tani, në këtu, unë mund të shtypni ls për listën. 530 00:22:36,080 --> 00:22:40,020 Dhe e vetmja gjë që unë shoh këtu në këtë moment është hello.c. 531 00:22:40,020 --> 00:22:41,770 Dhe kjo është e mirë, sepse unë vetëm shkroi këtë. 532 00:22:41,770 --> 00:22:44,380 >> Pra më lejoni të shkoj përpara dhe të bëni përshëndetje. 533 00:22:44,380 --> 00:22:46,830 Dhe vini re unë nuk jam bërë shtypur hello.c. 534 00:22:46,830 --> 00:22:50,300 Në vend të kësaj, unë jam vetëm shtypni emrin e file bazë, hello. 535 00:22:50,300 --> 00:22:53,690 Dhe të bëjë, siç e pamë hënën, thjesht do të tregoj se unë dua 536 00:22:53,690 --> 00:22:54,920 . fotografi c. 537 00:22:54,920 --> 00:22:56,820 Deri tani unë kam shtypur bërë hello. 538 00:22:56,820 --> 00:22:59,280 Tani unë shoh këtë komandë mjaft të gjatë dhe do të vazhdojë 539 00:22:59,280 --> 00:23:00,480 shohim këtë përsëri dhe përsëri. 540 00:23:00,480 --> 00:23:03,620 Por të jetë i qartë, tingëllimë, fjalë që sapo u shfaq, 541 00:23:03,620 --> 00:23:05,340 kjo është përpilues aktuale. 542 00:23:05,340 --> 00:23:08,200 Të bëjë është vetëm një dobi e ndërtuar. 543 00:23:08,200 --> 00:23:11,900 Kjo është vetëm një program shumë përdorues miqësore që kursen mua, në 544 00:23:11,900 --> 00:23:15,310 afatgjatë, nga detyrimi për të tipit më tepër të lodhshme gjatë 545 00:23:15,310 --> 00:23:17,020 komandat si se një. 546 00:23:17,020 --> 00:23:18,950 Kështu që ju mund të kandidojë tingëllimë dorë. 547 00:23:18,950 --> 00:23:20,530 Ju mund të shkruani të gjithë se me dorë. 548 00:23:20,530 --> 00:23:21,580 Vetëm merr shumë e lodhshme. 549 00:23:21,580 --> 00:23:24,720 Dhe kështu bëjnë është vetëm një program që thjeshton jetën tonë dhe 550 00:23:24,720 --> 00:23:27,120 shkon komandat më komplekse për ne. 551 00:23:27,120 --> 00:23:29,410 >> Të gjithë të drejtë, kështu që tani se çfarë fotografi duhet të ketë 552 00:23:29,410 --> 00:23:31,540 në directory tim aktual? 553 00:23:31,540 --> 00:23:36,310 Jo vetëm hello.c, por edhe përshëndetje. 554 00:23:36,310 --> 00:23:39,710 Pra, nëse unë dua të drejtuar hello, kujtojmë se them dot plagë, 555 00:23:39,710 --> 00:23:42,220 ku thotë dot shkoni në dosjen aktuale, kudo që 556 00:23:42,220 --> 00:23:46,060 janë, dhe pastaj të drejtuar programin e quajtur hello, dhe në të vërtetë, tani, 557 00:23:46,060 --> 00:23:48,080 Kam botë Hello. 558 00:23:48,080 --> 00:23:51,640 Të gjithë të drejtë, ndonjë pyetje në workflow ose Sintaksa e 559 00:23:51,640 --> 00:23:52,890 ajo që ne vetëm e bëri? 560 00:23:55,380 --> 00:23:57,040 >> Të gjithë të drejtë, kështu që le të marrin gjërat një nivel përsëri. 561 00:23:57,040 --> 00:24:00,430 Pra, kjo ishte underwhelming të vetëm të shkruaj një program që vetëm 562 00:24:00,430 --> 00:24:01,790 ndonjëherë thotë hello, bota. 563 00:24:01,790 --> 00:24:03,920 Pra, ne kemi ndryshuar atë, të hënën, për të thënë, hello, David. 564 00:24:03,920 --> 00:24:06,560 Kjo është pak më shumë personale, por vetëm sa e vështirë koduar si 565 00:24:06,560 --> 00:24:07,410 Versioni i parë. 566 00:24:07,410 --> 00:24:08,780 Pra, jo të gjithë që imponues. 567 00:24:08,780 --> 00:24:13,120 Por ekziston, në C, sigurisht përveç funksioneve 568 00:24:13,120 --> 00:24:15,700 shtypura, funksionet që ju lejojnë të merrni të dhëna të përdoruesit. 569 00:24:15,700 --> 00:24:17,990 Dhe mënyra se si e bëri këtë, ditë të tjera, ishte si më poshtë. 570 00:24:17,990 --> 00:24:21,440 Para se unë në fakt të shtypura nga diçka, kam parë mori 571 00:24:21,440 --> 00:24:22,410 diçka nga përdoruesit. 572 00:24:22,410 --> 00:24:23,370 Pra më lejoni të bëjë këtë përsëri. 573 00:24:23,370 --> 00:24:26,580 >> String s, ku s është vetëm një emër i arbitrare, këtu, për një 574 00:24:26,580 --> 00:24:30,600 string, e barabartë getString. 575 00:24:30,600 --> 00:24:32,070 Pra, çfarë është getString? 576 00:24:32,070 --> 00:24:34,630 Ajo padyshim merr një varg, bazuar në emrin e saj. 577 00:24:34,630 --> 00:24:37,560 Por çfarë është ajo, më teknikisht? 578 00:24:37,560 --> 00:24:38,440 Kjo është një funksion. 579 00:24:38,440 --> 00:24:41,790 Pra, kjo është një funksion që nuk ka ardhur me C në vetvete. 580 00:24:41,790 --> 00:24:43,660 CS50 Stafi shkroi këtë. 581 00:24:43,660 --> 00:24:46,940 Dhe në mënyrë që të përdorni këtë, ju nuk mund të përfshijnë vetëm stdio.h, 582 00:24:46,940 --> 00:24:49,630 Ju gjithashtu duhet të përfshijë çfarë? 583 00:24:49,630 --> 00:24:50,060 Po. 584 00:24:50,060 --> 00:24:54,210 Pra cs50.h, e cila është vetëm një skedar kemi shkruar disa vite më parë. 585 00:24:54,210 --> 00:24:57,130 Ne instaluar atë në aplikim për ju së bashku 586 00:24:57,130 --> 00:24:58,490 të gjitha dosjet standarde. 587 00:24:58,490 --> 00:25:00,500 Dhe kështu në këto javët e para e klasës, ne do të përdorim 588 00:25:00,500 --> 00:25:02,820 kjo vetëm për të lehtësuar procesin e bërë shumë themelore 589 00:25:02,820 --> 00:25:04,600 gjëra si të dhëna marrjen përdoruesit. 590 00:25:04,600 --> 00:25:07,370 Sepse si ne do të shohim në disa javë, duke marrë të dhëna përdoruesi në një 591 00:25:07,370 --> 00:25:10,180 Gjuha C si është në të vërtetë e habitshme komplekse, 592 00:25:10,180 --> 00:25:14,360 veçanërisht për shkak se ju nuk e dini paraprakisht, zakonisht, si 593 00:25:14,360 --> 00:25:17,030 gjëra shumë përdorues do të shkruani in 594 00:25:17,030 --> 00:25:20,340 Dhe kur ju nuk e dini se sa të dhëna të presin, ju nuk e bëni 595 00:25:20,340 --> 00:25:22,380 e di se sa memorie të ndajë. 596 00:25:22,380 --> 00:25:25,480 Dhe në qoftë se ju në të vërtetë keni një përdorues i cili është duke u përpjekur pavolitshëm 597 00:25:25,480 --> 00:25:28,180 të kollitem në sistemin tuaj, të rrëzimit kompjuterin tuaj, edhe, 598 00:25:28,180 --> 00:25:31,600 përgjithësi metoda e parë e sulmit është, ashtu siç kam bërë në 599 00:25:31,600 --> 00:25:34,950 E hënë, shtypni një rend të gjatë të tërë shkronja të rastit, 600 00:25:34,950 --> 00:25:37,020 hit Enter, dhe shikoni se çfarë prishet. 601 00:25:37,020 --> 00:25:40,800 Sepse në përgjithësi, në qoftë se një program prishet, që aludon në 602 00:25:40,800 --> 00:25:42,650 një krisje të sigurisë, potencialisht. 603 00:25:42,650 --> 00:25:45,250 Kjo sigurisht aludon në ju, programues, duke bërë një 604 00:25:45,250 --> 00:25:49,050 gabim, por më shumë të rrezikshme, ju mund të keni bërë një 605 00:25:49,050 --> 00:25:52,430 sigurisë të lidhura me gabim, dhe në përgjithësi ne do të shohim se 606 00:25:52,430 --> 00:25:54,840 kjo është se si makina janë komprometuar në këtë ditë, të dyja 607 00:25:54,840 --> 00:25:56,620 në botën e internetit dhe programeve në 608 00:25:56,620 --> 00:25:58,070 command line, si kjo. 609 00:25:58,070 --> 00:25:58,350 >> Dakord. 610 00:25:58,350 --> 00:26:00,460 Pra string s barabartë getString. 611 00:26:00,460 --> 00:26:03,380 Pra, më konkretisht tani, çfarë do të vijë 6 bëjmë këtu? 612 00:26:03,380 --> 00:26:05,640 Pra, funksioni në të djathtë merr varg, 613 00:26:05,640 --> 00:26:06,890 merr sa argumente? 614 00:26:09,458 --> 00:26:09,900 Rregull. 615 00:26:09,900 --> 00:26:10,400 Pra askush. 616 00:26:10,400 --> 00:26:11,360 Një mendje e shëndoshë pak kontrolloni. 617 00:26:11,360 --> 00:26:15,380 Një argument, përsëri, është vetëm një input për një funksion për të ndryshuar 618 00:26:15,380 --> 00:26:17,250 sjellja e saj e parazgjedhur në një farë mënyre. 619 00:26:17,250 --> 00:26:19,540 Por në këtë rast, unë nuk dua të ndryshojnë 620 00:26:19,540 --> 00:26:20,650 Sjellja e getString. 621 00:26:20,650 --> 00:26:22,430 Unë vetëm të kërkuar për të marrë një varg. 622 00:26:22,430 --> 00:26:25,190 Pra, kam vënë asgjë në kllapa, dhe pastaj kam vënë një 623 00:26:25,190 --> 00:26:27,550 pikëpresje demarking fundin e vijës së kodit. 624 00:26:27,550 --> 00:26:29,840 Tani, është e barabartë me shenjë nuk do të thotë të barabartë, në vetvete. 625 00:26:29,840 --> 00:26:32,690 Kjo do të thotë detyrë, që do të thotë të vënë çdo gjë merr 626 00:26:32,690 --> 00:26:36,060 outputted në brendësi të drejtën e çdo gjë që është në të majtë. 627 00:26:36,060 --> 00:26:39,400 >> Pra, në të majtë, të themi se ne kemi deklaruar një 628 00:26:39,400 --> 00:26:41,630 string quajtur s. 629 00:26:41,630 --> 00:26:44,240 Dhe më konkretisht, ne kemi ndarë memorie brenda 630 00:26:44,240 --> 00:26:46,340 të cilat ne do të vënë copa që përfaqëson një sekuencë të 631 00:26:46,340 --> 00:26:46,850 karaktere. 632 00:26:46,850 --> 00:26:49,400 Por për sot, ne kemi ndarë 633 00:26:49,400 --> 00:26:51,450 ose deklaruar një varg. 634 00:26:51,450 --> 00:26:51,790 Dakord. 635 00:26:51,790 --> 00:26:54,760 Deri tani sapo kam bërë këtë, unë dua të plug në vlerën e 636 00:26:54,760 --> 00:26:56,535 nuk është, vlera e Davidit. 637 00:26:56,535 --> 00:27:00,200 Pra, kjo është e gabuar pse? 638 00:27:03,060 --> 00:27:04,870 Pra, kjo është vetëm fjalë për fjalë hard-coded s. 639 00:27:04,870 --> 00:27:06,870 Është për të thënë "Hello, s", i cili nuk është ajo që unë dua. 640 00:27:06,870 --> 00:27:07,790 Kështu që unë mund ta bëjë këtë. 641 00:27:07,790 --> 00:27:10,330 Shenja për qind është një placeholder, por tani kam nevojë për të 642 00:27:10,330 --> 00:27:12,520 kalojnë në printoni një argument të dytë. 643 00:27:12,520 --> 00:27:15,160 Kujtojnë se argumentet për funksionet janë të ndara nga 644 00:27:15,160 --> 00:27:20,300 presje, kështu presje tjetër këtu kam vënë pas kësaj letër s. 645 00:27:20,300 --> 00:27:23,740 Dhe në këtë kontekst tani, s është e ndryshueshme, dhe printf, 646 00:27:23,740 --> 00:27:25,550 pas marrjes këto dy inpute - 647 00:27:25,550 --> 00:27:29,440 string në të majtë dhe s ndryshueshme emrin në të djathtë - 648 00:27:29,440 --> 00:27:32,750 ajo do të plug të fundit në ish për ne, dhe 649 00:27:32,750 --> 00:27:34,600 vetëm të shtypura nga një varg bukur bukur që përmban 650 00:27:34,600 --> 00:27:36,770 çfarëdo qoftë ajo është që ne të shtypen in 651 00:27:36,770 --> 00:27:37,560 >> Pra, le të provoni këtë. 652 00:27:37,560 --> 00:27:38,860 Do të shkojnë përpara dhe zoom jashtë, përsëri 653 00:27:38,860 --> 00:27:40,250 në dritaren time terminal. 654 00:27:40,250 --> 00:27:41,840 Zoom në në fund këtu. 655 00:27:41,840 --> 00:27:44,070 Rivendos bëni përshëndetje. 656 00:27:44,070 --> 00:27:45,870 Tingëllimë duket të ketë qenë përsëritje. 657 00:27:45,870 --> 00:27:49,280 Unë jam duke shkuar për të tipit. / Hello, Enter. 658 00:27:49,280 --> 00:27:52,145 Asgjë nuk duket të jetë ndodh ende, por kjo është në këtë shpejtë 659 00:27:52,145 --> 00:27:55,700 që unë mund të shtypni diçka si Nate, Enter, dhe tani ne kemi 660 00:27:55,700 --> 00:27:56,380 Hello, Nate. 661 00:27:56,380 --> 00:27:59,600 Dhe unë mund të bëjë atë përsëri me Rob, dhe kështu me radhë. 662 00:27:59,600 --> 00:28:03,410 Kështu që shpresojmë se tani ky program po sillet si kam ndërmend. 663 00:28:03,410 --> 00:28:05,720 >> Tani, jo të gjitha që përdorues miqësore. 664 00:28:05,720 --> 00:28:07,930 Kam asnjë ide se çfarë është duke pritur për mua. 665 00:28:07,930 --> 00:28:09,620 Pra, ne me siguri mund të pastruar këtë deri pak. 666 00:28:09,620 --> 00:28:13,270 Më lejoni të shkojë mbrapa deri këtu, dhe në vend të vetëm dhe zhytjen në 667 00:28:13,270 --> 00:28:16,480 kërkuar e përdoruesit për një varg, më lejoni t'ju them në mënyrë eksplicite 668 00:28:16,480 --> 00:28:17,750 Përdorues atë që unë jam duke pritur. 669 00:28:17,750 --> 00:28:21,610 Pra printf ("Shkruani një varg:" 670 00:28:21,610 --> 00:28:24,080 ); 671 00:28:24,080 --> 00:28:25,510 Kështu që nuk ka variabla këtu. 672 00:28:25,510 --> 00:28:26,750 Ka shenja për qind. 673 00:28:26,750 --> 00:28:28,550 Vetëm fraza anglisht thjeshtë. 674 00:28:28,550 --> 00:28:34,030 Më lejoni tani të shkojnë në fund këtu dhe ribërjen programin tim. 675 00:28:34,030 --> 00:28:35,380 Por asgjë nuk duket të ketë ndryshuar. 676 00:28:35,380 --> 00:28:37,350 Pse? 677 00:28:37,350 --> 00:28:38,380 Unë duhet të përpiluar atë. 678 00:28:38,380 --> 00:28:39,570 Pra gabim e lehtë për të bërë. 679 00:28:39,570 --> 00:28:41,700 Por ju duhet jo vetëm të ruajtur kartelën por 680 00:28:41,700 --> 00:28:43,260 recompile programin. 681 00:28:43,260 --> 00:28:46,640 Dhe kështu, nëse unë të ri-drejtuar bëjë hello, tani tingëllimë shkon. 682 00:28:46,640 --> 00:28:51,800 Tani unë mund të kandidojë. / Hello. Dhe tani shoh "Futni një varg:". 683 00:28:51,800 --> 00:28:52,050 Rregull. 684 00:28:52,050 --> 00:28:53,440 Tani ajo është një pak më shumë përdorues-miqësor. 685 00:28:53,440 --> 00:28:55,850 Nate, Enter, hello, Nate. 686 00:28:55,850 --> 00:28:57,310 >> E pra, le të provoni këtë përsëri dhe të fillojnë të mendojnë 687 00:28:57,310 --> 00:28:58,080 për raste qoshe. 688 00:28:58,080 --> 00:29:00,520 Pra, ashtu si në Scratch, ju jeni të inkurajuar ose janë duke u 689 00:29:00,520 --> 00:29:03,180 inkurajuar në spekulim për lloj të mendoni se çka mund të shkojnë 690 00:29:03,180 --> 00:29:06,610 keq në qoftë se ju nuk parashikojnë çdo gjë përdorues mund të bëjë. 691 00:29:06,610 --> 00:29:08,050 Mete, prandaj, mund të pasojnë. 692 00:29:08,050 --> 00:29:09,710 Kështu hyjnë në një varg - 693 00:29:09,710 --> 00:29:11,130 çfarë është një rast qoshe këtu? 694 00:29:11,130 --> 00:29:13,320 Çfarë është një skenar që unë, programues, nuk mund të ketë 695 00:29:13,320 --> 00:29:16,070 parashikuar? 696 00:29:16,070 --> 00:29:17,600 Po. 697 00:29:17,600 --> 00:29:17,920 Rregull. 698 00:29:17,920 --> 00:29:22,060 Pra, çfarë nëse unë të shkruani në një numër si ky? 699 00:29:22,060 --> 00:29:22,500 Dakord. 700 00:29:22,500 --> 00:29:24,490 Pra, ai ende punon. 701 00:29:24,490 --> 00:29:25,880 Gramatically nuk ka kuptim. 702 00:29:25,880 --> 00:29:27,180 Por të paktën programi punon. 703 00:29:27,180 --> 00:29:28,650 >> Çfarë është një rast tjetër qoshe? 704 00:29:28,650 --> 00:29:29,610 Diçka që unë nuk pres. 705 00:29:29,610 --> 00:29:31,590 Po? 706 00:29:31,590 --> 00:29:31,940 Rregull. 707 00:29:31,940 --> 00:29:34,950 Pra, ne mund të bëjmë diçka si një numër të vërtetë, të vërtetë e madhe. 708 00:29:34,950 --> 00:29:37,270 Pra, le ta bëjmë këtë këtu. 709 00:29:37,270 --> 00:29:40,880 Më lejoni të zoom jashtë për një sekondë, më lejoni të theksoj. 710 00:29:40,880 --> 00:29:42,250 Nuk mund të kopjoni dhe ngjisni këtu poshtë. 711 00:29:42,250 --> 00:29:42,470 Dakord. 712 00:29:42,470 --> 00:29:44,440 Kështu që unë nuk mund të kopjoni dhe ngjisni këtë dritare terminali, kështu që ne do të 713 00:29:44,440 --> 00:29:46,950 vetëm simulojnë atë. 714 00:29:46,950 --> 00:29:51,340 Më lejoni të zoom jashtë, do të përfundojë. 715 00:29:51,340 --> 00:29:52,700 Unë nuk jam duke shkuar për të bërë këtë për një kohë të gjatë, sepse ajo nuk do të 716 00:29:52,700 --> 00:29:54,440 të vërtetë thyer në këtë program. 717 00:29:54,440 --> 00:29:55,260 Por ajo mund të. 718 00:29:55,260 --> 00:29:55,830 Enter. 719 00:29:55,830 --> 00:29:56,580 Por ai nuk e bëri. 720 00:29:56,580 --> 00:29:57,050 Dakord. 721 00:29:57,050 --> 00:29:58,440 Por kjo është një rast i vërtetë qoshe. 722 00:29:58,440 --> 00:30:01,610 Dhe arsyeja e vetme që sillen si duhet, në mënyrë që të 723 00:30:01,610 --> 00:30:05,820 flasin, sepse CS50 getString funksioni është në të vërtetë 724 00:30:05,820 --> 00:30:08,040 projektuar nën kapuç, siç do të shohim në disa javë, 725 00:30:08,040 --> 00:30:11,570 automatikisht të ndajë RAM më shumë, gjithnjë e më shumë 726 00:30:11,570 --> 00:30:14,330 kujtim nga sistemi operativ, kur ajo realizon, wow, 727 00:30:14,330 --> 00:30:16,670 ju keni shtypur të vërtetë në diçka mjaft të gjatë. 728 00:30:16,670 --> 00:30:18,500 Tani, kjo është pak e një gënjeshtër të bardhë. 729 00:30:18,500 --> 00:30:22,020 Nëse ne fakt ndaluar për një kohë mjaft dhe unë shtypur në 730 00:30:22,020 --> 00:30:24,640 diçka si 5 miliardë karaktereve në tastierë 731 00:30:24,640 --> 00:30:28,060 këtu, apo goditur me të vërtetë copy-paste mjaft, ne mjaft ndoshta 732 00:30:28,060 --> 00:30:29,730 mund të shkaktojë programin për të rrëzuar. 733 00:30:29,730 --> 00:30:32,130 Vetëm pak më e vështirë për të simuluar se me një fundme 734 00:30:32,130 --> 00:30:33,740 Sasinë e kohës. 735 00:30:33,740 --> 00:30:37,320 >> Çfarë është një tjetër rast këndi ne mund të provoni? 736 00:30:37,320 --> 00:30:38,730 Po? 737 00:30:38,730 --> 00:30:39,020 Po. 738 00:30:39,020 --> 00:30:40,360 Pra, pse nuk kemi përgjigje asgjë? 739 00:30:40,360 --> 00:30:43,130 Pra, ne në fakt duhet të marrë disa masa, sepse përndryshe 740 00:30:43,130 --> 00:30:45,060 Programi do të rrinë atje keq gjatë gjithë ditës. 741 00:30:45,060 --> 00:30:46,860 Por në qoftë se unë vetëm hit Enter - 742 00:30:46,860 --> 00:30:48,780 OK, tani, ende duket e gabuar. 743 00:30:48,780 --> 00:30:51,670 A nuk e rrëzimit, por ndoshta ka tani një mundësi për të 744 00:30:51,670 --> 00:30:54,190 të fillojë zbatimin e një programi më rigoroz 745 00:30:54,190 --> 00:30:55,290 që aktualisht kontrollon. 746 00:30:55,290 --> 00:30:57,640 Dhe nëse vargu, fjalia, fjala që unë 747 00:30:57,640 --> 00:31:00,890 shtypur në ka gjatësi 0, mirë, ndoshta unë duhet të çirrem në 748 00:31:00,890 --> 00:31:03,770 user, ose thoni atij apo të saj për të hyrë në një varg sërish, në mënyrë që 749 00:31:03,770 --> 00:31:06,560 ne fakt ajo që duket si sjellje korrekte dhe të mos 750 00:31:06,560 --> 00:31:08,570 vetëm mbikëqyrje të plotë nga ana ime. 751 00:31:08,570 --> 00:31:11,130 >> Pyetje në shpinë? 752 00:31:11,130 --> 00:31:11,970 Numri dhjetor. 753 00:31:11,970 --> 00:31:13,120 Pra, ne mund të përpiqemi që, too. 754 00:31:13,120 --> 00:31:16,840 1,10000005. 755 00:31:16,840 --> 00:31:19,470 Duket si kjo do të punojnë vetëm të vërtetë në rregull. 756 00:31:19,470 --> 00:31:21,160 Dhe që në fakt pritet. 757 00:31:21,160 --> 00:31:24,550 Edhe pse ne mund të keni shtypur atë numër atje, ose një 758 00:31:24,550 --> 00:31:28,200 Numri më i madh më herët, e kuptojnë se kur ne jemi duke shtypur përdorues 759 00:31:28,200 --> 00:31:31,070 input dhe ne jemi duke përdorur funksionin getString, nuk 760 00:31:31,070 --> 00:31:34,380 marrë parasysh nëse ajo që unë jam duke shtypur duket si një numër. 761 00:31:34,380 --> 00:31:36,720 Kujtojnë se në bazë të ASCII, çdo gjë në tuaj 762 00:31:36,720 --> 00:31:39,920 Tastierë ka një vlerë numerike që mund të jetë plotësisht në një 763 00:31:39,920 --> 00:31:41,480 karakter, një char. 764 00:31:41,480 --> 00:31:44,490 Pra, në këtë rast, edhe pse unë mund të shtypni një numër, 765 00:31:44,490 --> 00:31:48,190 kompjuteri do të mendoj për të, kështu që të flasin, si një varg - 766 00:31:48,190 --> 00:31:49,870 diçka që duket si një numër, por është 767 00:31:49,870 --> 00:31:51,090 jo të vërtetë një numër. 768 00:31:51,090 --> 00:31:53,450 Por kjo është në fakt një Segue përsosur, sepse tani ne mund 769 00:31:53,450 --> 00:31:55,450 në fakt kalimi në programet shkrim se 770 00:31:55,450 --> 00:31:56,730 përdorin të dhëna të tjera lloje. 771 00:31:56,730 --> 00:32:01,840 >> Pra, përveç përdorimit të chars, ose më mirë, përveç duke përdorur vargjet, 772 00:32:01,840 --> 00:32:04,510 kuptojnë se ne kemi të dhëna të tjera lloje në C si dhe në 773 00:32:04,510 --> 00:32:05,230 gjuhë të tjera. 774 00:32:05,230 --> 00:32:08,480 Një char, siç sugjeron emri, është vetëm një karakter të vetme. 775 00:32:08,480 --> 00:32:12,150 Një noton është një vlerë lundrues pikë, dhe kjo është vetëm një tekë 776 00:32:12,150 --> 00:32:14,470 mënyrë për të thënë një numër të vërtetë - diçka që ka një decimal të 777 00:32:14,470 --> 00:32:17,410 pikë në atë me disa numra të majtë dhe / apo të djathtë. 778 00:32:17,410 --> 00:32:21,370 Një int është një numër i plotë, e cila është vetëm një numër si 123. 779 00:32:21,370 --> 00:32:24,170 Dhe tani më interesant janë gjëra të tilla si dyfishin. 780 00:32:24,170 --> 00:32:28,540 Çfarë të themi një të dyfishtë ishte hera e fundit? 781 00:32:28,540 --> 00:32:30,050 Kjo është 64, e drejtë. 782 00:32:30,050 --> 00:32:33,560 Pra, ndërsa zakonisht një noton është 32-bit - 783 00:32:33,560 --> 00:32:37,340 kështu që kjo kohë të gjatë në kujtesë, ai përdor 32 zero dhe ato të 784 00:32:37,340 --> 00:32:40,530 përfaqësojnë vlerat - një dyfishtë është fjalë për fjalë dy herë se, e cila 785 00:32:40,530 --> 00:32:43,810 do të thotë që ju mund ta përfaqësojnë numra të mëdha, ose 786 00:32:43,810 --> 00:32:45,810 ju mund të përfaqësojnë numrat më të sakta. 787 00:32:45,810 --> 00:32:48,690 Kështu që ju mund të ketë më shumë numra pas presjes dhjetore, por 788 00:32:48,690 --> 00:32:51,520 si shokët e tha në video, edhe diçka e thjeshtë 789 00:32:51,520 --> 00:32:55,360 konceptualisht si 1/3 nuk mund të përfaqësohet pikërisht nga një 790 00:32:55,360 --> 00:32:58,330 kompjuter, sepse përfundimisht ju drejtuar nga copa dhe 791 00:32:58,330 --> 00:33:02,510 prandaj ju mund ta bëni vetëm .33333333 herë kaq shumë, në 792 00:33:02,510 --> 00:33:05,050 cilën pikë ju vetëm duhet të them unë jam nga përfaqësimit 793 00:33:05,050 --> 00:33:08,120 hapësirë, unë kam për të vetëm e quajti atë një ditë dhe përfaqësojnë atë 794 00:33:08,120 --> 00:33:10,200 disi imprecisely pëlqen këtë. 795 00:33:10,200 --> 00:33:11,110 Dhe një kohë të gjatë - 796 00:33:11,110 --> 00:33:13,880 Emri budalla, por kjo është për shkak se ka një lloj të dhënave njohur si një 797 00:33:13,880 --> 00:33:19,350 gjatë në C e cila rastësisht është shpesh 32 bit, ashtu si një 798 00:33:19,350 --> 00:33:21,670 int është 32 bit, por një kohë të gjatë është 799 00:33:21,670 --> 00:33:23,560 zakonisht 64 bit. 800 00:33:23,560 --> 00:33:25,740 Pra, kjo thjesht do të thotë që ju mund të përfaqësojnë të mëdha 801 00:33:25,740 --> 00:33:26,990 Numrat se kjo. 802 00:33:26,990 --> 00:33:27,410 >> Dakord. 803 00:33:27,410 --> 00:33:29,390 Pra, në qoftë se ne të vërtetë duan të fillojnë përfaqësojnë gjëra, ne 804 00:33:29,390 --> 00:33:31,030 mund të kenë nevojë më shumë lloje të sofistikuara, dhe 805 00:33:31,030 --> 00:33:32,340 kjo është arsyeja pse ne kemi string. 806 00:33:32,340 --> 00:33:36,450 Pra, në bibliotekë CS50, që file i quajtur cs50.h, ne kemi 807 00:33:36,450 --> 00:33:41,110 vërtetë është deklaruar një lloj të dhënave, kështu që të flasin, të quajtur string, 808 00:33:41,110 --> 00:33:42,710 por varg nuk ka të vërtetë ekziston. 809 00:33:42,710 --> 00:33:44,780 Kjo është, përsëri, një prej këtyre shtresave ne do të zhvishem 810 00:33:44,780 --> 00:33:47,490 përsëri në një javë ose dy dhe hedhin atë larg, dhe në fakt 811 00:33:47,490 --> 00:33:49,640 shikoni nën kapuç në atë që në fakt është një varg, dhe 812 00:33:49,640 --> 00:33:50,840 se si është përfaqësuar. 813 00:33:50,840 --> 00:33:53,520 Ne jemi gjithashtu do të shikojmë në vlerat Boolean. 814 00:33:53,520 --> 00:33:56,040 >> Pra, çfarë ishte një bool në kontekstin e Scratch? 815 00:33:59,154 --> 00:34:00,300 Është e vërtetë apo e rreme. 816 00:34:00,300 --> 00:34:03,900 Pra, kjo është vetëm një vlerë që është e vërtetë apo e rreme, ose jashtë, 1 ose 817 00:34:03,900 --> 00:34:06,140 0, megjithatë ju dëshironi për të parë botën. 818 00:34:06,140 --> 00:34:09,739 Pra në C, në sajë të bibliotekës CS50, e cila nga ana 819 00:34:09,739 --> 00:34:12,179 përfshin një bibliotekë nën kapuç, ne kemi 820 00:34:12,179 --> 00:34:14,909 qasje në një lloj të dhënave që është quajtur bool, e cila do të 821 00:34:14,909 --> 00:34:18,730 fjalë të na lejojë që të caktojë vlerat e vërtetë apo e rreme të 822 00:34:18,730 --> 00:34:20,219 gjërat në një program. 823 00:34:20,219 --> 00:34:23,880 >> Pra, le të shkojnë përpara këtu dhe shkruani një program i vogël që 824 00:34:23,880 --> 00:34:26,330 bën diçka që përfshin numra në vend. 825 00:34:26,330 --> 00:34:29,840 Pra më lejoni të shkoj përsëri në Appliance CS50, më lër të shkoj përpara dhe të 826 00:34:29,840 --> 00:34:32,770 të krijojë një skedar të ri të quajtur këtu - 827 00:34:32,770 --> 00:34:35,460 le të them vetëm diçka e thjeshtë, si math.c. 828 00:34:38,270 --> 00:34:38,710 Dakord. 829 00:34:38,710 --> 00:34:41,600 Dhe tani të shkojnë deri në krye të programit tim, unë jam 830 00:34:41,600 --> 00:34:42,510 do të bëjë zakonisht - 831 00:34:42,510 --> 00:34:44,780 # Include , në mënyrë që unë mund të përdorni 832 00:34:44,780 --> 00:34:46,860 printf, int main (void) - 833 00:34:46,860 --> 00:34:49,270 ne do të kthehen në, përfundimisht, çfarë do të thotë int 834 00:34:49,270 --> 00:34:52,389 këtu, se çfarë do të thotë pavlefshëm këtu, por tani për tani, vetëm e di se 835 00:34:52,389 --> 00:34:54,270 ju duhet për të filluar programe si kjo. 836 00:34:54,270 --> 00:34:56,280 Tani unë jam duke shkuar për të shkuar përpara dhe të thonë diçka pak 837 00:34:56,280 --> 00:35:02,110 ndryshme - printf ("Jepni një numër:" 838 00:35:02,110 --> 00:35:03,570 );. 839 00:35:03,570 --> 00:35:09,220 Atëherë unë jam duke shkuar për të bërë int n = GetInt, sepse ajo 840 00:35:09,220 --> 00:35:12,770 Rezulton GetInt është një tjetër funksion në bibliotekë CS50 841 00:35:12,770 --> 00:35:14,060 përveç getString. 842 00:35:14,060 --> 00:35:17,340 Dhe tani unë jam duke shkuar për të bërë diçka stupid, si "falë 843 00:35:17,340 --> 00:35:25,760 për të d%, "për integer decimal, dhe pastaj n presje, dhe 844 00:35:25,760 --> 00:35:26,620 pastaj kthehen 0. 845 00:35:26,620 --> 00:35:28,940 Pra, përsëri, kthehet 0 ka asgjë të bëjë me numrin e unë jam 846 00:35:28,940 --> 00:35:30,080 kërkuar e përdoruesit për të. 847 00:35:30,080 --> 00:35:33,620 Vetëm tregon në fund që të gjithë, me sa duket, është e mirë. 848 00:35:33,620 --> 00:35:36,290 >> Pra më lejoni të shkoj poshtë në dritaren time terminal këtu. 849 00:35:36,290 --> 00:35:39,590 Më lejoni të bëjë matematikë shkruani, shkruani. 850 00:35:39,590 --> 00:35:41,360 Dhe diçka është e gabuar. 851 00:35:41,360 --> 00:35:44,620 Bëjë matematikë nuk keni punuar. 852 00:35:44,620 --> 00:35:46,170 Këtu është i pari i mesazheve tona gabimit. 853 00:35:46,170 --> 00:35:46,570 Pse? 854 00:35:46,570 --> 00:35:49,720 Një fshehtë pak, por - 855 00:35:49,720 --> 00:35:50,060 Po. 856 00:35:50,060 --> 00:35:51,240 Pra cs50.h. 857 00:35:51,240 --> 00:35:53,900 Pra, përsëri, sidomos në fillim, ju do të shkruani tuaj të parë 858 00:35:53,900 --> 00:35:56,590 Programi për pset 1 në seksione, në orarit të punës, dhe 859 00:35:56,590 --> 00:35:59,050 sinqerisht, ajo do të jetë e madhe ndonjëherë se çfarë këto gjëra 860 00:35:59,050 --> 00:36:00,000 në të vërtetë janë thënë. 861 00:36:00,000 --> 00:36:01,890 Por ju do të kuptojë shumë shpejt ata fillojnë të bien 862 00:36:01,890 --> 00:36:06,120 në kova ku kjo do të thotë se ju kam lënë jashtë një 863 00:36:06,120 --> 00:36:08,290 i # përfshin në majë të dosjes. 864 00:36:08,290 --> 00:36:10,960 Dhe tingëllimë, përpilues, është informuar për këtë nga 865 00:36:10,960 --> 00:36:14,090 thënë, në vend fancifully, deklarata e nënkuptuar 866 00:36:14,090 --> 00:36:15,990 GetInt funksion është i pavlefshëm. 867 00:36:15,990 --> 00:36:16,310 >> Dakord. 868 00:36:16,310 --> 00:36:17,520 Pra, çfarë do të thotë kjo? 869 00:36:17,520 --> 00:36:22,080 Kjo thjesht do të thotë që ju keni deklaruar në mënyrë implicite GetInt 870 00:36:22,080 --> 00:36:24,850 ndjenja që ju nuk e kanë deklaruar në mënyrë eksplicite atë. 871 00:36:24,850 --> 00:36:27,300 Të deklarojë shprehimisht int, ju duhet për të mësuar 872 00:36:27,300 --> 00:36:28,740 Tingëllimë se ajo ekziston. 873 00:36:28,740 --> 00:36:32,020 Dhe zgjidhje shumë e thjeshtë për këtë është për të mësuar atë nga 874 00:36:32,020 --> 00:36:34,780 duke përfshirë edhe këtë skedë tjetër, cs50.h, në 875 00:36:34,780 --> 00:36:35,850 të lartë të dosjen tuaj. 876 00:36:35,850 --> 00:36:40,380 Sepse fjalë për fjalë, çfarë e bën # include është ajo tregon tingëllimë 877 00:36:40,380 --> 00:36:44,030 shumë e shumë për të shkuar të gjetur dosjen e quajtur cs50.h, kopje, 878 00:36:44,030 --> 00:36:48,150 ngjitur automatikisht në krye të programit tim për mua, 879 00:36:48,150 --> 00:36:50,850 dhe pastaj konvertohet kodin burim për zero dhe ato. 880 00:36:50,850 --> 00:36:52,850 Por që padyshim do të jetë shumë e lodhshme qoftë se ne njerëzit kishin 881 00:36:52,850 --> 00:36:55,370 për të shkuar kopjimi dhe pasting këto fotografi të mëdha gjatë gjithë kohës, 882 00:36:55,370 --> 00:36:58,540 kështu # përfshijë vetëm bën të gjitha ato që automatikisht pa 883 00:36:58,540 --> 00:37:01,550 muddying kodin tim me bibliotekën e dikujt tjetër. 884 00:37:01,550 --> 00:37:06,370 Dhe një bibliotekë është vetëm një tjetër dosje që përmban funksione dhe 885 00:37:06,370 --> 00:37:08,340 gjëra të tjera që dikush tjetër ka shkruar, se ne jemi 886 00:37:08,340 --> 00:37:10,270 leveraging për të mirën tonë. 887 00:37:10,270 --> 00:37:10,580 >> Dakord. 888 00:37:10,580 --> 00:37:11,200 Le të provoni përsëri. 889 00:37:11,200 --> 00:37:12,250 Të bëjë matematikë. 890 00:37:12,250 --> 00:37:13,120 Enter. 891 00:37:13,120 --> 00:37:13,530 Mirë. 892 00:37:13,530 --> 00:37:14,880 Kështu që duket se kanë punuar. 893 00:37:14,880 --> 00:37:18,330 Pra më lejoni tani të drejtuar matematikë;. / Math. 894 00:37:18,330 --> 00:37:21,100 Shkruani jep mua një numër, 123. 895 00:37:21,100 --> 00:37:22,620 Faleminderit për 123. 896 00:37:22,620 --> 00:37:24,490 Tani le të provoni një tjetër rast qoshe. 897 00:37:24,490 --> 00:37:26,530 Një varg është shumë bujare, sepse një 898 00:37:26,530 --> 00:37:27,620 string mund të jetë çdo gjë. 899 00:37:27,620 --> 00:37:28,910 Mund të duket si numra, duken si 900 00:37:28,910 --> 00:37:30,600 karaktere, duken si fjalë. 901 00:37:30,600 --> 00:37:31,900 Por një int është një int. 902 00:37:31,900 --> 00:37:34,370 Kështu që tani, nëse unë jam përdoruesi i vështirë, dhe është thënë: "Më jep edhe mua 903 00:37:34,370 --> 00:37:38,730 një numër, "çka nëse unë të përpiqet të bëjë diçka si 0,1? 904 00:37:38,730 --> 00:37:41,510 E pra, kjo është një numër, dhe kjo është në përputhje me 905 00:37:41,510 --> 00:37:44,180 gramatika kam përdorur këtu, por nën kapuç, unë jam i 906 00:37:44,180 --> 00:37:45,610 Kursi përdorur GetInt funksion. 907 00:37:45,610 --> 00:37:46,610 >> Pra, le të shohim se çfarë ndodh. 908 00:37:46,610 --> 00:37:48,250 Shkruani, rigjykuar. 909 00:37:48,250 --> 00:37:48,560 Dakord. 910 00:37:48,560 --> 00:37:50,570 Më lejoni të jetë e vështirë dhe goditi vetëm Shkruani përsëri. 911 00:37:50,570 --> 00:37:51,700 Shkruani, Enter. 912 00:37:51,700 --> 00:37:53,890 Deri tani duket se GetInt është pak më 913 00:37:53,890 --> 00:37:55,240 fuqishëm se getString. 914 00:37:55,240 --> 00:37:58,540 Ne, stafi, zbatohet në mënyrë të tillë që në qoftë se ne njoftim 915 00:37:58,540 --> 00:38:02,100 ju nuk na kanë dhënë një int - dhe një int është një numër decimal 916 00:38:02,100 --> 00:38:04,785 zero përmbajnë, ato, dy, katër këmbë, five, sixes, 917 00:38:04,785 --> 00:38:05,540 Sevens, tetë, ose numër nëntë. 918 00:38:05,540 --> 00:38:06,310 Dhe kjo është ajo. 919 00:38:06,310 --> 00:38:08,810 Asnjë pikë dhjetore, ka karaktere, nuk ka shenja pikësimi. 920 00:38:08,810 --> 00:38:10,390 Duket se ne duhet të bashkëpunojmë. 921 00:38:10,390 --> 00:38:13,680 Pra më lejoni të provoni katër, pesë, gjashtë, dhe që merr mua përmes. 922 00:38:13,680 --> 00:38:16,760 Pra me të vërtetë, për të anal këtu, unë ndoshta duhet të thonë "Më jep edhe mua 923 00:38:16,760 --> 00:38:20,310 një numër të plotë "në mënyrë që të përcjellë të përdoruesit 924 00:38:20,310 --> 00:38:22,620 pikërisht ajo që kam ndërmend. 925 00:38:22,620 --> 00:38:24,090 >> Tani le të mendojmë për nën kapuç. 926 00:38:24,090 --> 00:38:27,930 Ne nuk jemi duke shkuar për të parë se si po zbatohet cs50.h sot, 927 00:38:27,930 --> 00:38:29,080 se biblioteka. 928 00:38:29,080 --> 00:38:33,600 Por në qoftë se ajo mban duke thënë rigjykuar, rigjykuar, rigjykuar, çfarë programimi 929 00:38:33,600 --> 00:38:36,970 ndërtojnë jam unë duket përdorur nën kapuç në 930 00:38:36,970 --> 00:38:39,000 zbatojnë atë? 931 00:38:39,000 --> 00:38:39,980 Pra, vetëm një lak, e drejtë? 932 00:38:39,980 --> 00:38:41,930 Një nga idetë më të thjeshtë që ne pamë në Scratch. 933 00:38:41,930 --> 00:38:45,050 Gjithmone ndërtimin, Përsërit ndërtojnë. 934 00:38:45,050 --> 00:38:47,320 Me sa duket, në këtë program, nën kapuç, edhe 935 00:38:47,320 --> 00:38:49,470 pse është e shkruar në C dhe jo zeroja, ajo është bërë 936 00:38:49,470 --> 00:38:54,300 diçka që quhet ekuivalente përgjithmonë në qoftë se përdoruesi nuk ka 937 00:38:54,300 --> 00:38:58,710 shtypur në një numër të plotë, të themi rigjykuar, rigjykuar, rigjykuar, rigjykuar, kështu që 938 00:38:58,710 --> 00:39:01,220 pastaj në fund, kur ne do të marrë një numër të plotë, atëherë ju 939 00:39:01,220 --> 00:39:02,970 thyer nga ky lak. 940 00:39:02,970 --> 00:39:05,610 >> Pra, çfarë funksione të tjera mund të përdorim këtu në bibliotekën CS50 s? 941 00:39:05,610 --> 00:39:07,880 Mirë, lloj nga ato të dukshme, të paktën bazuar në 942 00:39:07,880 --> 00:39:09,570 lloje të të dhënave që ne tani e dimë ekzistojnë. 943 00:39:09,570 --> 00:39:12,900 Ne zbatuar getString, GetInt, por në të gjithë 944 00:39:12,900 --> 00:39:15,680 javëve të para të mandatit, ju gjithashtu mund të përdorni dhe GetFloat 945 00:39:15,680 --> 00:39:18,870 GetDouble dhe GetLongLong në mënyrë që të merrni pikërisht 946 00:39:18,870 --> 00:39:20,030 lloje të të dhënave që ju dëshironi. 947 00:39:20,030 --> 00:39:24,030 Sepse detaj kyç këtu është se ndryshe nga disa gjuhë, 948 00:39:24,030 --> 00:39:26,630 si Python dhe Ruby, ku ju nuk domosdoshmërisht duhet të 949 00:39:26,630 --> 00:39:29,730 deklaruar llojin e të dhënave të një variable - 950 00:39:29,730 --> 00:39:32,390 ju nuk keni për të të treguar në kompjuter se çfarë lloj të gjëra 951 00:39:32,390 --> 00:39:34,000 ju do të jeni për të vënë në variabli - 952 00:39:34,000 --> 00:39:36,640 në C, ju duhet të jetë ndonjëherë në mënyrë të saktë. 953 00:39:36,640 --> 00:39:40,060 Pra, nëse ju doni një ndryshore të quajtur n, një copë e magazinimit 954 00:39:40,060 --> 00:39:42,900 se në këtë rast ndodh të jetë 32 bit nga Konventa, ju 955 00:39:42,900 --> 00:39:45,660 duhet të them se këto bit kompjuter janë 956 00:39:45,660 --> 00:39:47,840 duke shkuar për të ruajtur një numër - 957 00:39:47,840 --> 00:39:50,630 nuk është një karakter, jo një varg, nuk noton. 958 00:39:50,630 --> 00:39:52,620 Dhe kjo adreson çështje ne mënyrë efektive 959 00:39:52,620 --> 00:39:53,760 u zhvillua në javën e kaluar. 960 00:39:53,760 --> 00:39:57,050 Në qoftë se ne jemi duke përdorur zero dhe ato numrat për të përfaqësuar jo vetëm 961 00:39:57,050 --> 00:40:00,770 Numrat por si dhe BS dhe Cs, si në botë është një 962 00:40:00,770 --> 00:40:03,460 kompjuter do të dinë se ky model i vërtetë bit 963 00:40:03,460 --> 00:40:07,650 paraqet numrin 65, në krahasim me përfaqësojnë 964 00:40:07,650 --> 00:40:09,860 letër Një, e cila coincidentally, sipas 965 00:40:09,860 --> 00:40:13,440 ASCII, kujtojnë, ishte ekuivalente me 65? 966 00:40:13,440 --> 00:40:16,550 >> Pra, këto lloje të të dhënave të sigurojë kontekstin në kompjuter, kështu që 967 00:40:16,550 --> 00:40:18,810 se ajo e di nëse këto copa duhet të interpretohet si një 968 00:40:18,810 --> 00:40:23,660 int ose si një varg. 969 00:40:23,660 --> 00:40:26,500 Çfarëdo pyetjeje, atëherë, në këtë? 970 00:40:26,500 --> 00:40:28,149 Po? 971 00:40:34,780 --> 00:40:35,270 DAVID J. Malan: Pyetje e mirë. 972 00:40:35,270 --> 00:40:39,140 Nëse marrim nga stdio.h, ne ruani skedarin - 973 00:40:39,140 --> 00:40:44,360 më lejoni të shkoj poshtë në dritaren e terminalit dhe të drejtuar, të bëjë matematikë zoom 974 00:40:44,360 --> 00:40:45,530 në dhe të hyjë - 975 00:40:45,530 --> 00:40:47,700 tani kam marrë një gabim tjetër, sepse unë jam pa dyshim 976 00:40:47,700 --> 00:40:49,650 deklaruar atë që funksionojnë tani? 977 00:40:49,650 --> 00:40:50,700 Printf. 978 00:40:50,700 --> 00:40:52,970 Deri tani unë kam krijuar një problem të ri, të cilit zgjidhja është 979 00:40:52,970 --> 00:40:53,890 në thelb të njëjtën gjë. 980 00:40:53,890 --> 00:40:55,365 Unë kam nevojë për të vënë atë përsëri. 981 00:40:55,365 --> 00:40:56,615 Audienca: [padëgjueshme] 982 00:41:03,534 --> 00:41:04,030 DAVID J. Malan: Oh. 983 00:41:04,030 --> 00:41:04,850 Pra, nëse unë të marrë jashtë - 984 00:41:04,850 --> 00:41:05,360 Mirë, po. 985 00:41:05,360 --> 00:41:08,960 Pra, nëse unë heq përfshirjen e standardit I / O bibliotekës deri 986 00:41:08,960 --> 00:41:12,020 këtu, dhe pastaj ju jeni duke thënë, nëse unë të shpëtoj printf, të merrni 987 00:41:12,020 --> 00:41:13,450 shpëtoj printf? 988 00:41:13,450 --> 00:41:13,810 Po. 989 00:41:13,810 --> 00:41:18,450 Kjo duhet të punojë, sepse unë nuk jam më duke përdorur ndonjë - uh. 990 00:41:18,450 --> 00:41:20,110 A Unë vetëm gënjeshtër? 991 00:41:20,110 --> 00:41:21,650 Oh, në rregull. 992 00:41:21,650 --> 00:41:25,640 Kjo nuk do të punojë për shkak të një gabimi të ri që sapo futur. 993 00:41:25,640 --> 00:41:28,390 Dhe kjo është një pak më shumë vetë-shpjeguese. 994 00:41:28,390 --> 00:41:29,440 >> Çfarë është problemi? 995 00:41:29,440 --> 00:41:30,680 N papërdorura ndryshueshme. 996 00:41:30,680 --> 00:41:34,040 Pra, ky gabim është rezultat i ynë ka konfiguruar 997 00:41:34,040 --> 00:41:36,640 aplikim të jetë veçanërisht pedant, me të vërtetë çirrem në 998 00:41:36,640 --> 00:41:39,060 ju për çdo gabim të mundshëm, edhe në qoftë se kjo është një lloj i 999 00:41:39,060 --> 00:41:41,950 një organizatë jo-fatale gabim si kjo - është me të vërtetë të tillë një i madh 1000 00:41:41,950 --> 00:41:44,820 merren se kam ndarë një int, të vënë një numër në të, dhe pastaj 1001 00:41:44,820 --> 00:41:46,030 vetëm nuk bëri asgjë me të? 1002 00:41:46,030 --> 00:41:47,020 Pra funksionalisht, nr. 1003 00:41:47,020 --> 00:41:50,410 Kjo nuk do të thyejnë këtë program. 1004 00:41:50,410 --> 00:41:51,490 Kjo është vetëm lloj i trashë, e drejtë? 1005 00:41:51,490 --> 00:41:54,220 Nuk ka asnjë vlerë për të ka kërkuar atij numri, të ruhet 1006 00:41:54,220 --> 00:41:56,370 atë në një variabël, në qoftë se ju nuk do të jeni për të bërë asgjë 1007 00:41:56,370 --> 00:41:58,000 me atë, nëse shtypura apo ruani atë. 1008 00:41:58,000 --> 00:42:00,270 Pra, në këtë rast, është pranuar tingëllimë sa më shumë, dhe 1009 00:42:00,270 --> 00:42:02,010 kjo është thënë n papërdorura ndryshueshme. 1010 00:42:02,010 --> 00:42:05,380 >> Pra, ne mund të rregullojmë këtë në qoftë se ne të vërtetë duan. 1011 00:42:05,380 --> 00:42:07,250 Por përsëri, kjo nuk është duke programuar mirë tani. 1012 00:42:07,250 --> 00:42:09,310 Kështu që unë vetëm mund ta bëjë këtë - 1013 00:42:09,310 --> 00:42:12,060 të shkojnë poshtë këtu, më lejoni të qartë në ekran, të bëjë matematikë. 1014 00:42:12,060 --> 00:42:13,090 Që punon. 1015 00:42:13,090 --> 00:42:18,110 Tani unë mund të drejtuar programin tim të matematikës, merr input - 1016 00:42:18,110 --> 00:42:18,700 mirë, se ishte e keqe. 1017 00:42:18,700 --> 00:42:23,450 Merr të dhëna, dhe kjo është e gjitha e bën atë, në këtë rast. 1018 00:42:23,450 --> 00:42:25,220 >> Pra në fakt, le të përpiqemi një rast tjetër që ne qoshe 1019 00:42:25,220 --> 00:42:26,300 nuk mendoj se e parë. 1020 00:42:26,300 --> 00:42:28,220 Në këtë rast - këtu, le të kthehemi në atë që është një 1021 00:42:28,220 --> 00:42:29,500 pak më shumë përdorues-miqësor. 1022 00:42:29,500 --> 00:42:32,580 Më lejoni të kthehem këtu dhe të drejtuar make matematikë përsëri. 1023 00:42:32,580 --> 00:42:34,190 Uh, çfarë nuk kam bërë gabim? 1024 00:42:34,190 --> 00:42:35,400 Got për të rrokulliset përsëri më tej. 1025 00:42:35,400 --> 00:42:36,390 Rregull. 1026 00:42:36,390 --> 00:42:38,490 Tani ne jemi kthyer në gjendjen origjinale, ku të gjithë 1027 00:42:38,490 --> 00:42:39,990 është shpresë mirë. 1028 00:42:39,990 --> 00:42:43,360 Dhe tani, nëse unë të drejtuar matematikë, 123 duket për të punuar. 1029 00:42:43,360 --> 00:42:46,010 Por kjo nuk është me të vërtetë një dëshmi efektive, të them vetëm 1030 00:42:46,010 --> 00:42:47,930 rregull, që punon. 1031 00:42:47,930 --> 00:42:49,120 789, që punon. 1032 00:42:49,120 --> 00:42:50,100 Koha për të paraqitur. 1033 00:42:50,100 --> 00:42:51,870 Sepse nuk ka raste të tjera qoshe këtu. 1034 00:42:51,870 --> 00:42:55,040 Një varg nuk ka të vërtetë të na japë shumë probleme nga shtypja në një 1035 00:42:55,040 --> 00:42:56,510 tërësi shumë të karaktereve. 1036 00:42:56,510 --> 00:42:59,580 Por çfarë nëse unë lloji në këtë? 1037 00:42:59,580 --> 00:43:04,850 Goditur numrin 1 një tërësi shumë më shumë, gjithë këtu - 1038 00:43:04,850 --> 00:43:06,300 të gjithë të drejtë, ai është duke marrë një mërzitshëm pak, kështu që unë jam duke shkuar për të 1039 00:43:06,300 --> 00:43:10,040 ndalet këtu, dhe unë jam duke shkuar për të goditur Enter. 1040 00:43:10,040 --> 00:43:11,290 >> Çfarë dreqin ka ndodhur vetëm? 1041 00:43:14,110 --> 00:43:17,680 Kështu që kjo në fakt mund të shpjegohet. 1042 00:43:17,680 --> 00:43:18,920 Pra, e bëri atë të marrë atë si binar? 1043 00:43:18,920 --> 00:43:21,130 Një mendim i mirë, por jo, nuk është fakti se ai e mori atë 1044 00:43:21,130 --> 00:43:22,815 si binar, sepse në të vërtetë, kjo ishte vetëm një lloj i 1045 00:43:22,815 --> 00:43:23,080 rastësi. 1046 00:43:23,080 --> 00:43:23,930 Ne mund ta bëjë këtë përsëri. 1047 00:43:23,930 --> 00:43:26,530 Kështu që nuk ka 2 në sistemin binar, kjo është 1048 00:43:26,530 --> 00:43:27,420 ndoshta e mjaftueshme anyway. 1049 00:43:27,420 --> 00:43:28,780 Enter. 1050 00:43:28,780 --> 00:43:30,140 Kështu që nuk ishte problem. 1051 00:43:30,140 --> 00:43:31,390 Çfarë tjetër? 1052 00:43:34,650 --> 00:43:35,400 Saktësisht. 1053 00:43:35,400 --> 00:43:37,830 >> Pra, mendoni përsëri në atë që një int fakt është. 1054 00:43:37,830 --> 00:43:40,970 Kjo është 32 bit të cilat janë interpretuar kolektive 1055 00:43:40,970 --> 00:43:42,090 si një numër. 1056 00:43:42,090 --> 00:43:44,730 Nëse ju keni 32 bit, do të thotë se secili prej bit mund të jetë 1057 00:43:44,730 --> 00:43:46,690 një 0 ose një. 1, 0 ose një 1 1058 00:43:46,690 --> 00:43:49,090 Pra, kjo do të thotë se ka dy mundësi për këtë pak, 1059 00:43:49,090 --> 00:43:51,140 dy mundësi për këtë, dy mundësi për këtë 1060 00:43:51,140 --> 00:43:52,570 bit - kështu që është 2 herë 2 herë - 1061 00:43:52,570 --> 00:43:55,480 kështu që është 2 në fuqinë 32 është numri i përgjithshëm i 1062 00:43:55,480 --> 00:43:58,960 permutations e zero dhe ato në qoftë se ju keni 32 1063 00:43:58,960 --> 00:44:01,400 placeholders, zero ose ato, në frontin e ju. 1064 00:44:01,400 --> 00:44:04,250 Pra, nëse unë kam 2 në 32, matematikisht, që është ajo? 1065 00:44:07,080 --> 00:44:07,840 Pra, kjo është një shumë. 1066 00:44:07,840 --> 00:44:09,910 Kjo është 4 miliardë, të japë ose të marrë. 1067 00:44:09,910 --> 00:44:13,510 Dhe 4 miliardë nuk duket të jetë ajo që është shtypur këtu. 1068 00:44:13,510 --> 00:44:16,290 Në fakt, kjo duket më afër 2 miliardë. 1069 00:44:16,290 --> 00:44:17,970 Por kjo nuk është një rastësi. 1070 00:44:17,970 --> 00:44:21,590 Fakti që kompjuteri ka keqinterpretuar numrin tim të madh, 1071 00:44:21,590 --> 00:44:24,260 Sekuenca im i madh nga ato dhe pastaj rendin tim të madh të twos, 1072 00:44:24,260 --> 00:44:26,880 si rreth 2 miliardë, është shpjeguar se si? 1073 00:44:30,250 --> 00:44:32,180 Ka një kapak në int. 1074 00:44:32,180 --> 00:44:34,970 Ka një siguri një vlerë maksimale që ju mund të përfaqësojnë. 1075 00:44:34,970 --> 00:44:36,370 Por kjo është zakonisht 4 miliardë, e drejtë? 1076 00:44:36,370 --> 00:44:39,100 Nëse 2 të 32 është afërsisht 4 miliardë, që duket si 1077 00:44:39,100 --> 00:44:40,350 që është numri më i madh. 1078 00:44:42,420 --> 00:44:45,240 Pra, jo një tjetër, por një mendim të mirë. 1079 00:44:45,240 --> 00:44:46,340 Numrat negative. 1080 00:44:46,340 --> 00:44:49,570 Pra, nëse ju keni 4 miliard gjëra mundshme që ju mund 1081 00:44:49,570 --> 00:44:52,970 përfaqësojnë me këto permutations të ndryshme të 32 0s dhe 1082 00:44:52,970 --> 00:44:55,600 1s, mirë, ajo qëndron për arsye se ne njerëzit mund të dëshironi të 1083 00:44:55,600 --> 00:44:57,110 përfaqësojnë jo vetëm integers pozitiv 1084 00:44:57,110 --> 00:44:58,240 por integers negative. 1085 00:44:58,240 --> 00:45:00,410 Dhe vërtet, kjo është supozimi se C bën. 1086 00:45:00,410 --> 00:45:03,550 Pra, me 32 bit, ju mund të përfaqësojnë përafërsisht negative 2 1087 00:45:03,550 --> 00:45:06,630 miliardë të gjithë rrugën deri në 2 miliardë pozitive. 1088 00:45:06,630 --> 00:45:08,750 Dhe kështu në këtë rast, ajo që ne jemi me të vërtetë shohim është vetëm 1089 00:45:08,750 --> 00:45:13,600 ekstremi periferik i kapaciteteve të integer tonë, dhe ne kemi, kështu që 1090 00:45:13,600 --> 00:45:15,860 për të folur, mbush një numër të plotë. 1091 00:45:15,860 --> 00:45:19,180 Ne kemi provuar për të mbushur bit më shumë në atë se në fakt mund të përshtaten. 1092 00:45:19,180 --> 00:45:22,960 Pra, rezultati përfundimtar është se ne thelb kemi krejt 1 bit. 1093 00:45:22,960 --> 00:45:25,280 Ne kemi kthyer të gjitha bit tona në, ne kemi provuar për të përfaqësuar 1094 00:45:25,280 --> 00:45:27,630 numri më i madh të jetë e mundur, por kjo nuk është e qartë gati 1095 00:45:27,630 --> 00:45:30,960 mjaft e madhe për të përfaqësuar dy gjëra që unë kam shtypur vetëm in 1096 00:45:30,960 --> 00:45:31,730 Po? 1097 00:45:31,730 --> 00:45:32,980 Audienca: [padëgjueshme] 1098 00:45:37,230 --> 00:45:37,830 >> DAVID J. Malan: Pyetje e mirë. 1099 00:45:37,830 --> 00:45:40,080 Pse nuk mund të kemi vetëm përfaqëson se negative 1100 00:45:40,080 --> 00:45:41,500 nënshkruajnë vetëm si një karakter? 1101 00:45:41,500 --> 00:45:44,200 Pra, ne mund absolutisht, dhe ne mund të pastaj të shpëtuar 1102 00:45:44,200 --> 00:45:45,470 një grimë shtesë. 1103 00:45:45,470 --> 00:45:49,100 Por ju jeni ende do të duhet të përfaqësojë atë dash, dhe 1104 00:45:49,100 --> 00:45:50,700 që do të ju kushtojë të paktën diçka, 1105 00:45:50,700 --> 00:45:52,220 duket pak. 1106 00:45:52,220 --> 00:45:55,610 Pra, po, ne mund të kemi 32 bit përdoren për numrin tonë, por tani 1107 00:45:55,610 --> 00:45:57,610 ne kemi nevojë për një tjetër pak përdoret për dash tonë 1108 00:45:57,610 --> 00:45:58,810 simbol, shenjë minus. 1109 00:45:58,810 --> 00:46:01,470 Deri tani ne kemi 33 bit vlerat, të cilat ne mund të bëjmë, por është e 1110 00:46:01,470 --> 00:46:02,570 jo vetëm mënyrën se si ajo është bërë. 1111 00:46:02,570 --> 00:46:05,140 Ne kemi bërë një gjykim years thirrje më parë, 32 bit është lloj i 1112 00:46:05,140 --> 00:46:06,170 njësia e matjes këtu. 1113 00:46:06,170 --> 00:46:08,120 Pra, ne jemi duke shkuar për të përdorur një nga ato copa në mënyrë efektive për të 1114 00:46:08,120 --> 00:46:12,950 paraqesin negativitet, dhe 31 bit të përfaqësojnë numrin. 1115 00:46:12,950 --> 00:46:15,550 Pyetje të tjera? 1116 00:46:15,550 --> 00:46:15,670 Dakord. 1117 00:46:15,670 --> 00:46:16,030 Kjo është një shumë. 1118 00:46:16,030 --> 00:46:17,930 Pse nuk shkojmë përpara dhe të marrë pesë-minutësh pushim tonë këtu? 1119 00:46:23,580 --> 00:46:24,270 >> Dakord. 1120 00:46:24,270 --> 00:46:31,250 Pra, përsëri, për të mos overemphasize aplikimet matematikore 1121 00:46:31,250 --> 00:46:33,840 e programimit, le të vetëm nxirre jashtë këtë një shembull 1122 00:46:33,840 --> 00:46:36,590 para se të shkojë në konstruktet e tjera, vetëm për shkak se ajo 1123 00:46:36,590 --> 00:46:39,430 do të ilustruar disa pika të përbashkëta pengues në disa nga 1124 00:46:39,430 --> 00:46:41,520 bazat kur është fjala për programet e shkruar. 1125 00:46:41,520 --> 00:46:44,360 Në këtë rast, duke bërë shprehje aritmetike që kanë disa 1126 00:46:44,360 --> 00:46:48,010 Rëndësia interesante për sintaksë. 1127 00:46:48,010 --> 00:46:50,430 >> Pra, kjo është vetëm një formulë me të cilën ne mund të konvertohet 1128 00:46:50,430 --> 00:46:52,690 Temperaturat nga Fahrenheit për gradë Celsius. 1129 00:46:52,690 --> 00:46:54,600 Nëse ju nuk kujtohet, kjo është vetëm formula. 1130 00:46:54,600 --> 00:46:58,870 Pra, nëse ne të vihet në prizë Fahrenheit vlerë prej 32 gradë, që është 1131 00:46:58,870 --> 00:47:02,850 ngrirjes, që do të jetë 32 minus 32 është 0, dhe në të vërtetë, 1132 00:47:02,850 --> 00:47:05,130 0 në Celsius është gjithashtu ngrirjes. 1133 00:47:05,130 --> 00:47:08,210 Pra, mendje e shëndoshë të shpejtë shikoni atje - kjo është formula e njohur. 1134 00:47:08,210 --> 00:47:10,880 Më lejoni të shkoj mbi të pajisjes, edhe pse, dhe të fillojnë të 1135 00:47:10,880 --> 00:47:13,920 shkruar një program të quajtur, si, f2c, "Fahrenheit të 1136 00:47:13,920 --> 00:47:15,920 Celsius dot c ". 1137 00:47:15,920 --> 00:47:18,930 Dhe deri në fillim këtu, unë jam duke shkuar për të nisem me # përfshijnë 1138 00:47:18,930 --> 00:47:22,190 stdio.h, dhe unë jam duke shkuar për të bërë kryesore int (i pavlefshëm), dhe 1139 00:47:22,190 --> 00:47:24,680 përsëri, ne do të kthehet në të ardhmen se çfarë do të thotë int 1140 00:47:24,680 --> 00:47:26,820 atje dhe se çfarë do të thotë pavlefshme atje. 1141 00:47:26,820 --> 00:47:28,770 Dhe tani më lejoni të shkoj përpara dhe të zbatojë një program që 1142 00:47:28,770 --> 00:47:31,170 thelb e bën këtë konvertim për ne. 1143 00:47:31,170 --> 00:47:36,830 >> Pra printf, le të themi, temperatura në gradë Fahrenheit. 1144 00:47:36,830 --> 00:47:40,140 Dhe pastaj më lejoni të shkoj përpara dhe të marrë vlera nga përdoruesi. 1145 00:47:40,140 --> 00:47:43,120 Çfarë lloj i vlerës duhet të marrë nga përdoruesi, nëse unë dua 1146 00:47:43,120 --> 00:47:45,620 ata të më jepni një temperaturë në Fahrenheit? 1147 00:47:45,620 --> 00:47:48,090 Po? 1148 00:47:48,090 --> 00:47:50,090 Çfarë do të propozojë? 1149 00:47:50,090 --> 00:47:50,410 Po. 1150 00:47:50,410 --> 00:47:51,960 Pra noton ndihet mjaft i arsyeshëm. 1151 00:47:51,960 --> 00:47:53,950 Ne kemi, përsëri, vetëm disa opsione që 1152 00:47:53,950 --> 00:47:55,310 ne kemi parë deri tani. 1153 00:47:55,310 --> 00:48:00,100 Ne kemi gjëra të tilla si char, float, int dyfishtë,, kohë të gjatë, 1154 00:48:00,100 --> 00:48:01,150 bool, string. 1155 00:48:01,150 --> 00:48:03,510 Pra nga këto, noton ndihet mjaft i arsyeshëm. 1156 00:48:03,510 --> 00:48:06,340 Ne mund të përdorim një të drejtë, të dyfishtë, sepse në qoftë se ne të vërtetë duan të 1157 00:48:06,340 --> 00:48:07,580 përfaqësojnë temperaturës së njeriut - 1158 00:48:07,580 --> 00:48:10,730 98,60000 - 1159 00:48:10,730 --> 00:48:12,990 ne mund të përdorim 64 bit për të bërë këtë, por ajo ndjehet si 1160 00:48:12,990 --> 00:48:14,200 overkill për temperaturën. 1161 00:48:14,200 --> 00:48:16,380 Pra, le të shkojnë vetëm me noton. 1162 00:48:16,380 --> 00:48:18,100 Tani kam nevojë për një ndryshore. 1163 00:48:18,100 --> 00:48:20,500 Vetëm për të mbajtur gjërat e thjeshta, unë jam duke shkuar për të thirrur atë f, por unë 1164 00:48:20,500 --> 00:48:23,370 mund të saktë ashtu siç e quajnë atë temperatura, 1165 00:48:23,370 --> 00:48:24,600 por as është e mirë. 1166 00:48:24,600 --> 00:48:27,610 Pra noton f = GetFloat. 1167 00:48:27,610 --> 00:48:30,220 Sa më shpejt që unë tani kam vendosur për të përdorur GetFloat, edhe pse, unë 1168 00:48:30,220 --> 00:48:33,340 nevojë për të bërë një korrigjim. 1169 00:48:33,340 --> 00:48:33,720 Po. 1170 00:48:33,720 --> 00:48:37,460 Pra, ne duhet të përfshijë # , përndryshe përpiluesit është 1171 00:48:37,460 --> 00:48:39,000 do të çirrem në ne. 1172 00:48:39,000 --> 00:48:41,720 Tani që unë kam një noton, më lejoni të shkoj përpara dhe të bëjë 1173 00:48:41,720 --> 00:48:42,460 konvertimit. 1174 00:48:42,460 --> 00:48:44,980 >> Pra, së pari, më lejoni të merrni në zakonin e këtu 1175 00:48:44,980 --> 00:48:46,310 komentuar kodin tim. 1176 00:48:46,310 --> 00:48:49,820 Pra, përsëri, një koment është vetëm një simbol të njeriut që është 1177 00:48:49,820 --> 00:48:52,600 nuk është pjesë e programit në vetvete, por një, ju ndihmon 1178 00:48:52,600 --> 00:48:55,010 kuptuar se çfarë keni bërë mëngjes, ose tjetër 1179 00:48:55,010 --> 00:48:57,570 muaj, ajo ndihmon shokët tuaj Mësimi kuptoni se çfarë keni bërë 1180 00:48:57,570 --> 00:48:59,230 ose çfarë keni menduar për të bërë, kështu që është e 1181 00:48:59,230 --> 00:49:00,950 Praktika përgjithësisht shumë mirë. 1182 00:49:00,950 --> 00:49:02,940 Çdo disa rreshta të kodit, të shkruar një koment për 1183 00:49:02,940 --> 00:49:04,490 veten ose kolegu juaj. 1184 00:49:04,490 --> 00:49:08,460 Kështu që këtu, unë jam duke shkuar për të thënë, "Pyetni përdorues për temperaturë." 1185 00:49:08,460 --> 00:49:10,890 Nuk duhet të jetë një fjali e plotë, vetëm një frazë të shkurtër. 1186 00:49:10,890 --> 00:49:14,270 Por ideja komentuar në C është se secili prej tuaj 1187 00:49:14,270 --> 00:49:17,980 Komentet duhet të fuqizojë ty - ose, të themi, një TF ose një koleg - 1188 00:49:17,980 --> 00:49:21,290 të cek programin tuaj dhe e di saktësisht se çfarë e bën atë, duke mos 1189 00:49:21,290 --> 00:49:24,650 aq shumë duke lexuar kodin, por duke lexuar komentet, të cilat 1190 00:49:24,650 --> 00:49:26,220 duhet të jetë i ngjeshur dhe i qartë. 1191 00:49:26,220 --> 00:49:29,030 Të gjithë të drejtë, kështu që tani më lejoni të shkoj përpara dhe të thonë, "Convert 1192 00:49:29,030 --> 00:49:32,660 Fahrenheit për gradë Celsius. "Kështu që unë jam duke shkuar për të shkuar përpara dhe të bëjë, 1193 00:49:32,660 --> 00:49:34,340 le të themi, noton c. 1194 00:49:34,340 --> 00:49:36,610 Ne do të vazhdojmë Celsius si një vlerë lundrues pikë. 1195 00:49:36,610 --> 00:49:37,630 >> Dhe më lejoni të marrë një goditje me thikë në këtë. 1196 00:49:37,630 --> 00:49:40,350 Formula është, përsëri, deri këtu. 1197 00:49:40,350 --> 00:49:45,510 Siç 5/9 herë F minus 32. 1198 00:49:45,510 --> 00:49:46,360 Pra, le ta bëjmë këtë. 1199 00:49:46,360 --> 00:49:50,450 Pra 5 ndarë nga 9, minus - 1200 00:49:50,450 --> 00:49:52,330 uh, unë messed it up tashmë. 1201 00:49:52,330 --> 00:49:53,070 Herë. 1202 00:49:53,070 --> 00:49:56,550 Pra 5/9 herë F minus 32. 1203 00:49:56,550 --> 00:49:59,650 Pra F minus 32, pikëpresje. 1204 00:49:59,650 --> 00:50:02,000 Dhe tani, këtu poshtë, unë jam duke shkuar për të shkuar përpara 1205 00:50:02,000 --> 00:50:03,220 dhe thonë, të shtypura rezultat. 1206 00:50:03,220 --> 00:50:05,160 Dhe kjo pjesë e lehtë. Printf. 1207 00:50:05,160 --> 00:50:07,980 Si mund të shkoj në lidhje me shtypjen e kësaj? 1208 00:50:07,980 --> 00:50:16,890 E pra, unë mund të them "Ky numër në Celsius është% f \ n", 1209 00:50:16,890 --> 00:50:18,060 vetëm për disa estetikë. 1210 00:50:18,060 --> 00:50:20,450 Dhe atëherë çfarë vlera dua të vihet në prizë këtu si të printf 1211 00:50:20,450 --> 00:50:21,360 Argumenti i dytë? 1212 00:50:21,360 --> 00:50:21,650 Rregull. 1213 00:50:21,650 --> 00:50:22,540 Pra, vetëm c. 1214 00:50:22,540 --> 00:50:24,760 Pra, ne do të fillojmë me këtë dhe pastaj të kthehen vetëm 0. 1215 00:50:24,760 --> 00:50:25,960 Përsëri, kjo nuk ka të bëjë me matematikë. 1216 00:50:25,960 --> 00:50:27,610 Kjo thjesht do të thotë të gjitha është e mirë. 1217 00:50:27,610 --> 00:50:31,210 >> Tani, kjo është e saktë, ky program? 1218 00:50:31,210 --> 00:50:31,520 Dakord. 1219 00:50:31,520 --> 00:50:33,630 Kështu që unë kam bërë disa gabime. 1220 00:50:33,630 --> 00:50:35,980 Edhe nëse ju nuk kanë idenë se çfarë programimi është, ju mund të lloj 1221 00:50:35,980 --> 00:50:37,120 e mbrapa konkludoj në klasën e shkollës çfarë 1222 00:50:37,120 --> 00:50:38,740 gabimet këtu mund të jetë. 1223 00:50:38,740 --> 00:50:40,050 Çfarë është një e parë? 1224 00:50:40,050 --> 00:50:41,256 Audienca: [padëgjueshme] 1225 00:50:41,256 --> 00:50:41,660 DAVID J. Malan: Po. 1226 00:50:41,660 --> 00:50:42,940 Pra, ne jemi të humbur kllapa. 1227 00:50:42,940 --> 00:50:45,420 Ajo ishte e qëllimshme që kam bërë në kllapa ide kryesore 1228 00:50:45,420 --> 00:50:48,130 rrëshqitje këtu, sepse nuk ka në fakt ky nocion e rendit 1229 00:50:48,130 --> 00:50:51,590 e operacioneve, ose përparësi, ku operacionet e caktuara - 1230 00:50:51,590 --> 00:50:52,890 shumëzimit - 1231 00:50:52,890 --> 00:50:56,000 kanë të detyrueshme të lartë, kanë përparësi të lartë, se sa gjëra të 1232 00:50:56,000 --> 00:50:58,050 si mbledhjen ose zbritjen. 1233 00:50:58,050 --> 00:51:00,550 Pra, ne kemi bërë këtë për vite me rradhë vetëm për të bërë të qartë pikërisht 1234 00:51:00,550 --> 00:51:02,840 çfarë operacioni matematik duhet të bëhet së pari. 1235 00:51:02,840 --> 00:51:05,010 Kështu që unë ndoshta duhet të imitojnë pikërisht këtë. 1236 00:51:05,010 --> 00:51:08,990 Përndryshe, kompjuteri është me sa duket do të përpiqemi të bëjmë 1237 00:51:08,990 --> 00:51:13,090 diçka si përçaj 5 nga 9, pastaj shumohen F, pastaj të zbriten 1238 00:51:13,090 --> 00:51:14,850 32 nga të gjithë gjë. 1239 00:51:14,850 --> 00:51:16,480 E cila nuk është, në fakt, ajo që ne duam të bëjmë. 1240 00:51:16,480 --> 00:51:17,340 Pra, le të kllapa. 1241 00:51:17,340 --> 00:51:20,860 Le të shtoni kllapa e mia këtu, kllapa këtu. 1242 00:51:20,860 --> 00:51:22,670 Le të vënë mbi këtë këtu. 1243 00:51:22,670 --> 00:51:25,130 Ja, unë vetëm vënë re një tjetër gabim kam bërë përgjatë rrugës. 1244 00:51:25,130 --> 00:51:25,680 Po? 1245 00:51:25,680 --> 00:51:26,930 Audienca: [padëgjueshme] 1246 00:51:29,632 --> 00:51:30,130 >> DAVID J. Malan: Ah. 1247 00:51:30,130 --> 00:51:30,470 Mirë. 1248 00:51:30,470 --> 00:51:32,400 Pra, ne në fakt kemi të njëjtin numër të plotë 1249 00:51:32,400 --> 00:51:34,020 Çështja e ndarjes nga para. 1250 00:51:34,020 --> 00:51:35,800 I saktë se, le të shohim se çfarë është simptomë. 1251 00:51:35,800 --> 00:51:36,990 Por ne do të kemi për të korrigjuar një 1252 00:51:36,990 --> 00:51:37,680 Gabimi tjetër këtu. 1253 00:51:37,680 --> 00:51:38,015 Po? 1254 00:51:38,015 --> 00:51:39,540 Audienca: [padëgjueshme] 1255 00:51:39,540 --> 00:51:40,070 DAVID J. Malan: Po. 1256 00:51:40,070 --> 00:51:43,130 Pra, kam bërë gabim budalla, por tepër të rëndësishme. 1257 00:51:43,130 --> 00:51:45,870 Kompjuteri nuk do të vetëm të kthehet një sy qorr dhe le 1258 00:51:45,870 --> 00:51:48,770 mua përdorin F kapitalit, kur unë vërtetë është deklaruar variabël 1259 00:51:48,770 --> 00:51:51,360 si një f vogla këtu, në përputhje 8. 1260 00:51:51,360 --> 00:51:54,470 Kështu që kam nevojë për të korrigjuar në linjë kapitalizimit 11 tim, që një 1261 00:51:54,470 --> 00:51:56,820 Momenti më parë ishte një F kryeqyteti gabimisht. 1262 00:51:56,820 --> 00:51:57,610 Po në lidhje këtu? 1263 00:51:57,610 --> 00:51:59,980 Kjo duhet të jetë të vogla, si dhe? 1264 00:51:59,980 --> 00:52:02,260 Ajo duhet të jetë, por kjo është një rastësi. 1265 00:52:02,260 --> 00:52:05,070 Kjo f% ka të bëjë asgjë me ndryshore. 1266 00:52:05,070 --> 00:52:07,980 Pra, vetëm të jetë super e qartë këtu, më lejoni të shkoj përpara dhe të 1267 00:52:07,980 --> 00:52:10,710 riemërtoni këtë, shkurtimisht, "temperaturën". Më lejoni të riemërtoni 1268 00:52:10,710 --> 00:52:15,050 kjo "temperaturë". Mos më lër të riemërtoni këtë. 1269 00:52:15,050 --> 00:52:18,180 Sepse, përsëri, f% globalisht do të thotë, "vlera lundrues pikë." 1270 00:52:18,180 --> 00:52:19,950 Ka asgjë të bëjë me ndryshore tim. 1271 00:52:19,950 --> 00:52:23,080 Por "temperatura" në të gjithë vendin është vetëm pak gojor, 1272 00:52:23,080 --> 00:52:25,370 kështu që unë jam duke shkuar për të shkuar përsëri në Fjala ime s "F". 1273 00:52:25,370 --> 00:52:27,890 >> Tani, më lejoni të shkoj përpara deri në dritaren time këtu. 1274 00:52:27,890 --> 00:52:29,190 Bëni f2c - 1275 00:52:29,190 --> 00:52:31,200 që ishte, përsëri, emri arbitrare unë 1276 00:52:31,200 --> 00:52:32,590 dha tek kjo skedë. 1277 00:52:32,590 --> 00:52:33,690 Duket se kanë hartuar. 1278 00:52:33,690 --> 00:52:35,080 Më lejoni të drejtuar f2c. 1279 00:52:35,080 --> 00:52:35,780 Enter. 1280 00:52:35,780 --> 00:52:37,786 Temperatura në gradë Fahrenheit - le të bëjë një e lehtë. 1281 00:52:37,786 --> 00:52:39,370 32. 1282 00:52:39,370 --> 00:52:40,910 OK, korrigjuar. 1283 00:52:40,910 --> 00:52:45,910 Por, nëse unë tani bëj 212 për valë - 1284 00:52:45,910 --> 00:52:46,630 damn. 1285 00:52:46,630 --> 00:52:47,030 Dakord. 1286 00:52:47,030 --> 00:52:50,780 Pra, nuk është e qartë saktë, nëse TF juaj përpiqet 1287 00:52:50,780 --> 00:52:51,800 të paktën dy vlerat. 1288 00:52:51,800 --> 00:52:53,340 Pra, çfarë është problemi këtu? 1289 00:52:53,340 --> 00:52:55,970 E pra, ju tashmë e vënë gishtin tuaj në atë çështje është. 1290 00:52:55,970 --> 00:52:57,600 Por pse është se çështja? 1291 00:52:57,600 --> 00:53:00,630 Deri këtu, kur unë jam duke bërë matematikë e 5 ndarë nga 9. 1292 00:53:00,630 --> 00:53:02,190 Pra konceptualisht, që është krejtësisht e saktë. 1293 00:53:02,190 --> 00:53:03,690 Tërësisht në përputhje me formulën e. 1294 00:53:03,690 --> 00:53:05,940 Por kompjuterat vetëm që pikërisht atë që ju 1295 00:53:05,940 --> 00:53:06,760 tregoni atyre për të bërë. 1296 00:53:06,760 --> 00:53:08,940 Dhe ajo që ne jemi në mënyrë efektive duke u thënë kompjuterin këtu është 1297 00:53:08,940 --> 00:53:12,320 ndani me 5 nga 9 numër i plotë numër i plotë 1298 00:53:12,320 --> 00:53:13,670 dhe jepni rezultatin. 1299 00:53:13,670 --> 00:53:16,230 Problemi është se, edhe pse, kur ju bëni ndarje duke përdorur të dhënat 1300 00:53:16,230 --> 00:53:20,220 lloje, prodhimi është i njëjtë dhënave lloji si inputeve. 1301 00:53:20,220 --> 00:53:23,670 Dhe kështu që nëse të dy inputet janë dy ints, prodhimi është duke shkuar 1302 00:53:23,670 --> 00:53:25,110 të jetë një int. 1303 00:53:25,110 --> 00:53:28,770 Dhe kështu 5 ndarë nga 9 është diçka pikë. 1304 00:53:28,770 --> 00:53:32,320 Por ajo që është numër i plotë më të afërt të vinte në diçka? 1305 00:53:32,320 --> 00:53:33,630 Pra, është e vërtetë 0. 1306 00:53:33,630 --> 00:53:36,620 Pra, siç kemi diskutuar të hënën, gjithçka pas decimal 1307 00:53:36,620 --> 00:53:37,940 Pika merr cunguar. 1308 00:53:37,940 --> 00:53:39,495 Ajo thjesht merr hedhur larg. 1309 00:53:39,495 --> 00:53:42,760 Pra, kjo është një gabim i plotë, për shkak se si edhe unë mund vetëm 1310 00:53:42,760 --> 00:53:44,700 shumohen gjithçka nga 0 këtu. 1311 00:53:44,700 --> 00:53:46,550 >> Tani, unë mund ta rregullojmë këtë në disa mënyra. 1312 00:53:46,550 --> 00:53:48,080 Unë mund ta bëjë këtë. 1313 00:53:48,080 --> 00:53:50,490 5.0 ndarë nga 9,0. 1314 00:53:50,490 --> 00:53:52,110 Teknikisht, unë as nuk duhet ta bëjnë këtë. 1315 00:53:52,110 --> 00:53:55,780 Ai e bën të mjaftojë për të vetëm të bëjë një nga numrat një noton - 1316 00:53:55,780 --> 00:53:58,290 ose të dyfishtë - duke vendosur pikën decimal këtu. 1317 00:53:58,290 --> 00:54:01,740 Sepse ajo që ndodh tani është kur ju ndani një numër të plotë nga 1318 00:54:01,740 --> 00:54:04,670 a noton, ose një të dyfishtë, kompjuteri do të kuptojnë 1319 00:54:04,670 --> 00:54:06,830 oh, një nga ata që është më e saktë. 1320 00:54:06,830 --> 00:54:09,420 Më lejoni të gaboj në anën e duke ju dhënë më shumë saktësi se 1321 00:54:09,420 --> 00:54:10,310 ju qëllim. 1322 00:54:10,310 --> 00:54:12,700 Pra, kjo do të konvertohet në rezultat - 1323 00:54:12,700 --> 00:54:16,240 ajo do të kthejë rezultatin si një vlerë lundrues pikë si. 1324 00:54:16,240 --> 00:54:17,330 Kështu që do të punojë. 1325 00:54:17,330 --> 00:54:18,060 Kjo do të punojë. 1326 00:54:18,060 --> 00:54:20,010 Dhe ka një mekanizëm tjetër që ne do të shohim në 1327 00:54:20,010 --> 00:54:21,390 hollësi të madhe javën e ardhshme. 1328 00:54:21,390 --> 00:54:24,690 Ju mund të vërtetë, si programues, tregoni kompjuterin 1329 00:54:24,690 --> 00:54:27,930 që në fakt të trajtuar një lloj të të dhënave si 1330 00:54:27,930 --> 00:54:29,260 edhe pse kjo ishte një tjetër. 1331 00:54:29,260 --> 00:54:30,990 >> Kështu që unë në fakt mund të bëjë këtë. 1332 00:54:30,990 --> 00:54:35,280 Në kllapa, unë mund të them diçka si (noton), hapur 1333 00:54:35,280 --> 00:54:36,350 prindërve, prindërve afër. 1334 00:54:36,350 --> 00:54:39,050 Dhe kjo është ajo që quhet "hedh". Përsëri, më shumë 1335 00:54:39,050 --> 00:54:39,940 në këtë javën e ardhshme. 1336 00:54:39,940 --> 00:54:42,280 Por kjo është vetëm mënyrë programatike për të thënë 1337 00:54:42,280 --> 00:54:45,910 kompjuter, vërtet unë e di 9 është një numër të plotë apo të gjatë. 1338 00:54:45,910 --> 00:54:47,700 Unë e di se nuk është një vlerë lundrues pikë. 1339 00:54:47,700 --> 00:54:49,420 Por trajtojnë atë si të tillë gjithsesi. 1340 00:54:49,420 --> 00:54:52,000 Pra, për të hedhur një lloj të dhënave do të thotë për të kthyer 1341 00:54:52,000 --> 00:54:53,310 nga njëri në tjetrin. 1342 00:54:53,310 --> 00:54:55,790 Sinqerisht, kjo është vetëm pak e shëmtuar, kështu që unë do të propozojë që të shkojmë 1343 00:54:55,790 --> 00:54:58,830 Kthehu në sugjerimin origjinal të vetëm konvertimin e 1344 00:54:58,830 --> 00:55:00,770 këto gjëra për vlerat lundrues pikë dorë. 1345 00:55:00,770 --> 00:55:02,890 Sepse tani kjo është vetëm super e qartë se çfarë po ndodh, dhe 1346 00:55:02,890 --> 00:55:04,280 kjo nuk është e gjitha që vëmendjen. 1347 00:55:04,280 --> 00:55:06,710 >> Pra, le të kthehemi tani në dritaren time terminal. 1348 00:55:06,710 --> 00:55:07,990 Bëni f2c. 1349 00:55:07,990 --> 00:55:09,430 Më lejoni të shkojnë përpara dhe për të drejtuar këtë. 1350 00:55:09,430 --> 00:55:12,340 Dhe, si një mënjanë, ju mërzitem shtypur këto komanda 1351 00:55:12,340 --> 00:55:14,910 përsëri dhe përsëri, e kuptojnë se kompjuterët, si Linux ketu, 1352 00:55:14,910 --> 00:55:16,010 kanë tendencë të jetë goxha i zgjuar. 1353 00:55:16,010 --> 00:55:18,890 Dhe në qoftë se unë goditi Up, ne mund të shkoni nëpër historinë time të tërë të 1354 00:55:18,890 --> 00:55:20,380 komandat, lart dhe poshtë. 1355 00:55:20,380 --> 00:55:23,840 Pra, në këtë rast këtu, unë mund të shkoni vetëm për të kandiduar bërë f2c. 1356 00:55:23,840 --> 00:55:25,830 Unë jam duke u yelled at, sepse unë vetëm e bëri atë një të dytë më parë. 1357 00:55:25,830 --> 00:55:27,030 Kjo është tashmë deri në datën. 1358 00:55:27,030 --> 00:55:30,720 Deri tani unë mund të kandidojë f2c përsëri. 1359 00:55:30,720 --> 00:55:33,260 Le të përpiqemi 32 Fahrenheit. 1360 00:55:33,260 --> 00:55:36,720 Tani le të përpiqemi 212 Fahrenheit. 1361 00:55:36,720 --> 00:55:37,250 >> Uh. 1362 00:55:37,250 --> 00:55:38,250 Duket për të punuar. 1363 00:55:38,250 --> 00:55:41,760 Tani, kjo është e mirë, por ajo ndihet pak arbitrare që 1364 00:55:41,760 --> 00:55:44,890 Unë jam duke treguar gjashtë numra pas pikë dhjetore. 1365 00:55:44,890 --> 00:55:45,070 Drejtë? 1366 00:55:45,070 --> 00:55:47,830 Nëse ju jeni personi i motit në TV, ju jeni lloj i një Doofus 1367 00:55:47,830 --> 00:55:49,150 në qoftë se ju jeni duke e lexuar temperaturën në 1368 00:55:49,150 --> 00:55:50,070 kjo shkallë e saktësisë. 1369 00:55:50,070 --> 00:55:51,270 Pra, le të thjeshtojë këtë. 1370 00:55:51,270 --> 00:55:53,880 Pra, le të vërtetë të shkojnë deri këtu, për të printf im. 1371 00:55:53,880 --> 00:55:55,490 Dhe vërtet, unë dua të noton. 1372 00:55:55,490 --> 00:55:57,570 Por tani unë dua të specifikojë saktësi. 1373 00:55:57,570 --> 00:55:59,070 Dhe unë jam do të jetë një ngjeshur pak. 1374 00:55:59,070 --> 00:56:03,090 Unë jam duke shkuar për të thënë, ma jep një pikë pas vendin dhjetore. 1375 00:56:03,090 --> 00:56:07,590 Pra, në vend se të them f%, unë jam duke shkuar për të thonë% .1 f. 1376 00:56:07,590 --> 00:56:09,760 Dhe kjo thjesht do të thotë të më jepni një pozicion 1377 00:56:09,760 --> 00:56:11,410 pas presjes dhjetore. 1378 00:56:11,410 --> 00:56:11,700 Dakord. 1379 00:56:11,700 --> 00:56:12,570 Le të provoni këtë përsëri. 1380 00:56:12,570 --> 00:56:15,590 Më lejoni të ri-drejtuar atë pas përpilimit. 1381 00:56:15,590 --> 00:56:18,160 Dhe tani unë lloji në 32, dhe kam marrë përsëri një 1382 00:56:18,160 --> 00:56:19,310 vlera më e ngjeshur. 1383 00:56:19,310 --> 00:56:22,480 Dhe unë mund të shkruani, tani, 212, dhe për të marrë përsëri një ngjeshur më shumë 1384 00:56:22,480 --> 00:56:23,260 vlera si. 1385 00:56:23,260 --> 00:56:25,190 Dhe nuk ka gjëra të tjera që ju mund të bëni me printf. 1386 00:56:25,190 --> 00:56:27,950 Ju në fakt mund të specifikoni se sa e gjerë numër duhet të jetë. 1387 00:56:27,950 --> 00:56:30,900 Në qoftë se ju dëshironi të keni mbushje në të, kështu që ju mund të drejtë-align ose 1388 00:56:30,900 --> 00:56:32,360 majtë-align gjithë numrat tuaj ose 1389 00:56:32,360 --> 00:56:33,400 përpiqen për gjëra qendër. 1390 00:56:33,400 --> 00:56:35,340 Pra, nuk janë realizuar truket pak ju mund të bëni atje. 1391 00:56:35,340 --> 00:56:38,420 Por ata vetëm të valoj poshtë për kodet format, 1392 00:56:38,420 --> 00:56:39,600 si ne kemi atje. 1393 00:56:39,600 --> 00:56:41,090 >> Pra, për sa i përket kësaj çështjeje të përparësisë. 1394 00:56:41,090 --> 00:56:43,820 Kjo është një tabelë shumë e mërzitshme për të shkuar nëpër methodically. 1395 00:56:43,820 --> 00:56:46,780 Por e kuptojnë se autorët e C kanë dalë me 1396 00:56:46,780 --> 00:56:50,190 rregulla që specifikojnë që operatorët kanë larta 1397 00:56:50,190 --> 00:56:53,680 përparësi, më shumë pushtet detyrues, se të tjerët. 1398 00:56:53,680 --> 00:56:55,890 Pra, ndërsa në klasën e shkollës, ne përgjithësi e dinte se ajo ishte 1399 00:56:55,890 --> 00:56:58,930 shumëzimit dhe pjesëtimit, atëherë mbledhjes dhe të zbritjes, 1400 00:56:58,930 --> 00:56:59,950 pastaj disa sende të tjera. 1401 00:56:59,950 --> 00:57:01,720 Në një botë të programimit, ka një shumë të 1402 00:57:01,720 --> 00:57:03,360 Lista më e gjërave. 1403 00:57:03,360 --> 00:57:05,150 Dhe kjo nuk është diçka me vlerë memorizimin tani. 1404 00:57:05,150 --> 00:57:07,310 Ju do të merrni përshtaten me klimën me të para se të gjatë. 1405 00:57:07,310 --> 00:57:10,690 Por ashtu si në klasën e shkollës, kllapat në përgjithësi zgjidhur 1406 00:57:10,690 --> 00:57:12,990 çështjet e përparësisë, duke i bërë super të qartë 1407 00:57:12,990 --> 00:57:15,620 Kompjuteri dhe njerëzore ashtu çfarë është menduar. 1408 00:57:15,620 --> 00:57:17,770 Pra, e konsiderojnë këtë vetëm fletë mashtrojnë pak atje. 1409 00:57:17,770 --> 00:57:21,690 Por shumica e këtyre detaje ne nuk do të merrni për të për disa kohë. 1410 00:57:21,690 --> 00:57:21,900 >> Dakord. 1411 00:57:21,900 --> 00:57:24,120 Tani, le të ndërtojë dhe të lëvizin larg nga këto pak budalla 1412 00:57:24,120 --> 00:57:25,460 shembuj matematikore. 1413 00:57:25,460 --> 00:57:27,500 Ende përdorin bazat e njëjta, por të fillojë 1414 00:57:27,500 --> 00:57:29,960 shprehur veten pak më shumë si Scratch. 1415 00:57:29,960 --> 00:57:31,660 Pra, në Scratch, kemi pasur këto shprehje boolean. 1416 00:57:31,660 --> 00:57:34,890 Dhe në anglisht, një shprehje Boolean është ajo? 1417 00:57:34,890 --> 00:57:35,580 Vërtetë apo e rreme. 1418 00:57:35,580 --> 00:57:38,300 Kjo është diçka që vlerëson të vërtetë apo e rreme. 1419 00:57:38,300 --> 00:57:39,060 1 ose 0. 1420 00:57:39,060 --> 00:57:39,870 On ose off. 1421 00:57:39,870 --> 00:57:41,000 Çfarëdo që ju doni të telefononi atë. 1422 00:57:41,000 --> 00:57:43,210 Tani në Scratch, copa mister dukej si kjo. 1423 00:57:43,210 --> 00:57:45,850 Dhe kjo është kombinimi, në fund atje, prej tre 1424 00:57:45,850 --> 00:57:47,980 copa mister. 1425 00:57:47,980 --> 00:57:48,980 Një lidhje - 1426 00:57:48,980 --> 00:57:51,710 diçka që ka bosh dhe bosh. 1427 00:57:51,710 --> 00:57:53,970 Dhe pastaj dy shprehjet Boolean në brendësi të saj. 1428 00:57:53,970 --> 00:57:56,460 Kështu që ju mund të shprehjet fole Boolean për të marrë më shumë 1429 00:57:56,460 --> 00:57:59,360 komplikuar shprehje boolean. 1430 00:57:59,360 --> 00:58:03,930 Për shembull, në qoftë se ajo është e shtunë, dhe kjo është e bukur 1431 00:58:03,930 --> 00:58:06,180 moti, atëherë shkoni jashtë. 1432 00:58:06,180 --> 00:58:07,500 Ose diçka si kjo arbitrare. 1433 00:58:07,500 --> 00:58:10,090 Kështu që ju mund të bashkohet me shprehje boolean për të dalë me një 1434 00:58:10,090 --> 00:58:12,780 vlera më e madhe e vërteta, të cilit përgjigja është e bazuar 1435 00:58:12,780 --> 00:58:13,800 në ato më të vogla. 1436 00:58:13,800 --> 00:58:15,770 >> Tani, në C, fatmirësisht, kjo hartë është 1437 00:58:15,770 --> 00:58:16,720 në fakt shumë e thjeshtë. 1438 00:58:16,720 --> 00:58:18,820 Kllapat ndihmojë për ta bërë të qartë gjërat këtu. 1439 00:58:18,820 --> 00:58:21,700 && Është ajo që do të thotë "dhe." Pra, kjo është se si 1440 00:58:21,700 --> 00:58:24,700 ne jemi duke shkuar për të kthyer ato blloqe nga e para për të C. 1441 00:58:24,700 --> 00:58:27,590 Dhe për kushtet e pamë në Scratch, në anën e majtë 1442 00:58:27,590 --> 00:58:31,150 Ana atje, unë mund të rafte e tyre të ngjashme në C. Nëse x është më pak 1443 00:58:31,150 --> 00:58:32,970 se y, pastaj të bëjë këtë. 1444 00:58:32,970 --> 00:58:35,100 Tjetër në qoftë se x është më i madh se y, pastaj të bëjë këtë. 1445 00:58:35,100 --> 00:58:38,030 Tjetër logjikisht ato duhet të jenë të barabartë, kështu thonë 1446 00:58:38,030 --> 00:58:39,140 se ata janë të barabartë. 1447 00:58:39,140 --> 00:58:41,210 Pra, ne tani mund të fillojnë për të ndërtuar këto gjëra deri. 1448 00:58:41,210 --> 00:58:42,170 >> Pra, le të bëjmë një shembull. 1449 00:58:42,170 --> 00:58:45,550 Më lejoni të hapur një skedë që është në faqen e internetit të kursit që 1450 00:58:45,550 --> 00:58:47,270 Kam shkruar më parë. 1451 00:58:47,270 --> 00:58:50,540 Kjo është quajtur nonswitch.c. 1452 00:58:50,540 --> 00:58:52,270 Dhe ne do të shohim se pse në vetëm një moment. 1453 00:58:52,270 --> 00:58:54,770 Pra, në këtë skedë - nonswitch.c-- 1454 00:58:54,770 --> 00:58:56,830 së pari të kuptojnë se ka një bandë e tërë e 1455 00:58:56,830 --> 00:58:58,460 Komentet në krye. 1456 00:58:58,460 --> 00:59:00,110 Kjo është vetëm shpjeguar emrin e file, ajo 1457 00:59:00,110 --> 00:59:01,260 bën, dhe kështu me radhë. 1458 00:59:01,260 --> 00:59:04,390 Dhe kjo duket demonstron përdorimin e Bulit dhe-ing - 1459 00:59:04,390 --> 00:59:06,220 conjoining dy shprehje. 1460 00:59:06,220 --> 00:59:07,670 >> Pra, le të shohim se si punon ky program. 1461 00:59:07,670 --> 00:59:10,840 Unë të përfshijë dosjet e mia, dy cs50.h dhe stdio.h. 1462 00:59:10,840 --> 00:59:13,180 Nëse unë lëvizni poshtë, tani, në programin, kjo është një pak më të gjatë 1463 00:59:13,180 --> 00:59:15,730 se ne kemi shkruar më parë, por shumë i lexueshëm. 1464 00:59:15,730 --> 00:59:18,360 Kështu që unë së pari të shtypura të përdoruesit, on line 18, 1465 00:59:18,360 --> 00:59:20,460 "Më jep një numër të plotë në mes të 1 dhe 10." Kështu 1466 00:59:20,460 --> 00:59:21,530 kjo është e drejtë atje. 1467 00:59:21,530 --> 00:59:23,410 Tani kam marrë numër i plotë. 1468 00:59:23,410 --> 00:59:25,380 Por të kuptojë se GetInt - shumë e thjeshtë. 1469 00:59:25,380 --> 00:59:26,510 Është vetëm do të merrni një int. 1470 00:59:26,510 --> 00:59:28,830 Kjo do të sigurojë që ajo ka marrë një int dhe jo një 1471 00:59:28,830 --> 00:59:30,060 varg ose një noton. 1472 00:59:30,060 --> 00:59:32,390 Por kjo nuk do të bëjë çdo lloj të kontrollit të kufijve. 1473 00:59:32,390 --> 00:59:34,750 Kjo nuk do të filtruar numrat të jetë në mes të një 1474 00:59:34,750 --> 00:59:35,630 varg të caktuar. 1475 00:59:35,630 --> 00:59:37,730 Pra, ne kemi për të zbatuar atë veten. 1476 00:59:37,730 --> 00:59:40,680 Pra, ashtu si në Scratch, ku unë mund të bëjë një lidhje të 1477 00:59:40,680 --> 00:59:43,560 dy shprehjet, unë mund të bëjë që në C si më poshtë. 1478 00:59:43,560 --> 00:59:48,660 Nëse n është më e madhe se ose e barabartë me 1, dhe n është më pak se dhe 1479 00:59:48,660 --> 00:59:52,220 ose e barabartë me 3, unë jam duke shkuar për shumë dekret arbitrare që 1480 00:59:52,220 --> 00:59:53,830 Numri i të jetë një numër i vogël. 1481 00:59:53,830 --> 00:59:56,730 Vetëm për hir të një deklarate. 1482 00:59:56,730 --> 01:00:00,210 Tjetër në qoftë se n është në mes 4 dhe 6, print "Ju kap një medium 1483 01:00:00,210 --> 01:00:03,440 Numri ". Else nëse n është ndërmjet 7 dhe 10, print" Ju kap një 1484 01:00:03,440 --> 01:00:06,390 Numri i madh ". Else print" Ju vini një numër të pavlefshme. " 1485 01:00:06,390 --> 01:00:07,900 Sepse logjikisht, që vijon në qoftë se ne kemi 1486 01:00:07,900 --> 01:00:09,230 rraskapitur gamën tonë. 1487 01:00:09,230 --> 01:00:12,400 >> Pra, kjo nuk është realizuar fare se si kemi shkruar më e madhe se, ose 1488 01:00:12,400 --> 01:00:15,000 barabartë në një klasë matematikë. 1489 01:00:15,000 --> 01:00:15,160 Drejtë? 1490 01:00:15,160 --> 01:00:17,430 Ju zakonisht tërheqë atë si kjo, me vijë nën atë. 1491 01:00:17,430 --> 01:00:19,250 Por nuk ka asnjë të tillë kyç në tastierën time. 1492 01:00:19,250 --> 01:00:22,390 Pra, simbol në C për të shprehur e madhe se, ose 1493 01:00:22,390 --> 01:00:25,770 është e barabartë me dy karaktere, dhe simbol për më pak se 1494 01:00:25,770 --> 01:00:29,100 ose e barabartë me dy karaktere është si. 1495 01:00:29,100 --> 01:00:29,330 Dakord. 1496 01:00:29,330 --> 01:00:31,910 Pra, nëse unë të drejtuar këtë program, ju ndoshta mund të me mend se çfarë është e 1497 01:00:31,910 --> 01:00:32,650 do të bëjë. 1498 01:00:32,650 --> 01:00:36,180 Nëse unë të shkojnë përpara dhe të bëjë nonswitch, Enter. 1499 01:00:36,180 --> 01:00:38,130 Dhe pastaj të drejtuar nonswitch. 1500 01:00:38,130 --> 01:00:39,530 Më jepni një numër midis 1 dhe 10. 1501 01:00:39,530 --> 01:00:40,870 Unë jam duke shkuar për të dhënë atë 11. 1502 01:00:40,870 --> 01:00:42,280 I kap një numër të pavlefshme. 1503 01:00:42,280 --> 01:00:44,090 Më lejoni të provoni numrin 3. 1504 01:00:44,090 --> 01:00:45,990 I kap një numër të vogël. 1505 01:00:45,990 --> 01:00:48,360 Pra mjaft i thjeshtë atje. 1506 01:00:48,360 --> 01:00:52,230 >> Çka nëse unë dua të ndryshojë sjelljen e këtij programi dhe 1507 01:00:52,230 --> 01:00:54,250 të bëjë diçka pak të ndryshme në vend? 1508 01:00:54,250 --> 01:00:57,620 Më lejoni të shkoj përpara dhe të thonë se kjo. 1509 01:00:57,620 --> 01:00:59,480 Më lejoni të shpëtoj të gjithë këtë. 1510 01:00:59,480 --> 01:01:03,780 Dhe më lejoni të them në qoftë se (n == 42). 1511 01:01:03,780 --> 01:01:08,730 Dhe atëherë unë jam duke shkuar për të shkuar përpara dhe të them të shtypura "kap je ti 1512 01:01:08,730 --> 01:01:16,340 përgjigje të drejtë. "Else ne jemi duke shkuar për të shkuar përpara dhe të thonë, 1513 01:01:16,340 --> 01:01:18,460 printf ("Ju kap 1514 01:01:18,460 --> 01:01:21,170 Përgjigja e gabuar ");. Mirë. 1515 01:01:21,170 --> 01:01:22,040 Vetëm për shkak se. 1516 01:01:22,040 --> 01:01:23,890 >> Tani, disa pika që ne mund të bëjë këtu. 1517 01:01:23,890 --> 01:01:26,570 Një, unë nuk shkruani simbol që ju do të mendoni se është 1518 01:01:26,570 --> 01:01:27,390 më e arsyeshme. 1519 01:01:27,390 --> 01:01:30,110 Kur unë dua të shikoni barazi, rezulton nga ju nuk e përdorni 1520 01:01:30,110 --> 01:01:30,910 shenjë të barabartë. 1521 01:01:30,910 --> 01:01:34,000 Ju në vend që të përdorni shenjën e barabartë të barabartë. 1522 01:01:34,000 --> 01:01:36,440 Dhe pse mund që të jetë, vetëm intuitive? 1523 01:01:36,440 --> 01:01:37,030 Po. 1524 01:01:37,030 --> 01:01:39,330 Audienca: [padëgjueshme] 1525 01:01:39,330 --> 01:01:39,615 DAVID J. Malan: Correct. 1526 01:01:39,615 --> 01:01:41,630 Shenjë të barabartë është përdorur tashmë për detyrë. 1527 01:01:41,630 --> 01:01:43,020 Dikush nuk ka të vërtetë mendoj se kjo përmes. 1528 01:01:43,020 --> 01:01:45,820 Dhe kështu tani, kur është fjala për testimin e barazisë, ne duhet të 1529 01:01:45,820 --> 01:01:48,850 të jetë më i qartë, dhe thonë barabartë barabartë. 1530 01:01:48,850 --> 01:01:52,110 Një gabim shumë i zakonshëm është që të bëjë këtë. 1531 01:01:52,110 --> 01:01:54,800 Dhe, në qoftë se në orët zyrë apo diku tjetër javë ose në 1532 01:01:54,800 --> 01:01:58,340 dy javëve të ardhshme ju bëni diçka si kjo dhe pastaj 1533 01:01:58,340 --> 01:02:00,920 luftojnë me të për 10, 20 minuta duke u përpjekur të kuptoj se 1534 01:02:00,920 --> 01:02:03,330 çfarë është bug mallkuar, të kuptojë se ju jeni një nga ata 1535 01:02:03,330 --> 01:02:04,470 njerëz që kanë bërë këtë gabim. 1536 01:02:04,470 --> 01:02:06,030 Pra, super të lehtë për të bërë. 1537 01:02:06,030 --> 01:02:08,240 Por tani qëllimi është për të shmangur këtë gabim. 1538 01:02:08,240 --> 01:02:11,840 Kjo mund të vlerësojë, sepse ajo që është kjo me të vërtetë duke thënë? 1539 01:02:11,840 --> 01:02:15,010 Nëse merr n 42. 1540 01:02:15,010 --> 01:02:18,250 Kështu që njerëzit përdorin folje, me gojë, për të shprehur 1541 01:02:18,250 --> 01:02:21,800 Nocioni i detyrës është "merr". Pra, nëse merr n 42. 1542 01:02:21,800 --> 01:02:24,060 Kështu që do të thotë të caktojë 42 në n. 1543 01:02:24,060 --> 01:02:26,250 Tani unë kam një shprehje Boolean në kllapa, 1544 01:02:26,250 --> 01:02:30,230 brenda kësaj gjendje, vlera e të cilave është 42. 1545 01:02:30,230 --> 01:02:30,390 Drejtë? 1546 01:02:30,390 --> 01:02:32,690 Sepse në qoftë se ju vlerësoni atë nga jashtë brenda, gjithsej 1547 01:02:32,690 --> 01:02:34,100 Përgjigjja, tani, është 42. 1548 01:02:34,100 --> 01:02:37,360 >> Pra, nëse ju pyeta pyetjen, "në qoftë se (42)," çfarë është 1549 01:02:37,360 --> 01:02:38,410 që me të vërtetë duke thënë? 1550 01:02:38,410 --> 01:02:40,990 E pra, shprehje Boolean mund të jetë e vërtetë apo e rreme. 1551 01:02:40,990 --> 01:02:42,010 1 ose 0. 1552 01:02:42,010 --> 01:02:43,010 On ose off. 1553 01:02:43,010 --> 01:02:45,240 Pra, ne duket të ketë një rast qoshe këtu, ku të gjithë një 1554 01:02:45,240 --> 01:02:50,060 papritur, unë jam duke thënë se "në qoftë se (42)". Kjo nuk është një vlerë Boolean. 1555 01:02:50,060 --> 01:02:54,500 Pra, çfarë të bëjë kompjuterat, megjithatë, është ajo në thelb barazon 1556 01:02:54,500 --> 01:02:58,620 çdo gjë që nuk është 0 interpretohet që të jetë e vërtetë. 1557 01:02:58,620 --> 01:02:59,340 1. 1558 01:02:59,340 --> 01:02:59,690 Në. 1559 01:02:59,690 --> 01:03:01,510 Ata janë të gjithë ekuivalente funksionalisht. 1560 01:03:01,510 --> 01:03:05,070 Vetëm vlera 0, ose fjalen rreme, si ne do të 1561 01:03:05,070 --> 01:03:07,860 përfundimisht të parë, në fakt është e rreme. 1562 01:03:07,860 --> 01:03:15,040 Pra, "në qoftë se (42)" në fakt do të jetë e vërtetë, sepse është jo-zero. 1563 01:03:15,040 --> 01:03:18,620 Pra, për të qenë më të saktë këtu, një vlerë Boolean nuk është me të vërtetë kështu 1564 01:03:18,620 --> 01:03:20,680 shumë e vërtetë apo e rreme, por për këtë 1565 01:03:20,680 --> 01:03:24,650 rast, nëse është 0 ose jo-zero. 1566 01:03:24,650 --> 01:03:26,330 Pra false ose jo të rreme. 1567 01:03:26,330 --> 01:03:28,640 Dhe kjo na lejon të përfshijë të gjitha më shumë 1568 01:03:28,640 --> 01:03:30,980 Mundësitë në shprehjen kllapa. 1569 01:03:30,980 --> 01:03:33,840 Pra, ne kemi nevojë për të, ndonjëherë kaq kujdes, thonë se kjo - 1570 01:03:33,840 --> 01:03:35,620 në qoftë se (n == 42). 1571 01:03:35,620 --> 01:03:39,100 Thjesht sepse ne kemi nevojë për të specifikoni një test të barazisë, 1572 01:03:39,100 --> 01:03:40,930 jo një caktimi i një vlerë. 1573 01:03:40,930 --> 01:03:42,830 >> Çfarë tjetër Vlen të përmendet këtu? 1574 01:03:42,830 --> 01:03:46,030 Këto formatimin e teksteve kaçurrel nuk janë të vërtetë e nevojshme. 1575 01:03:46,030 --> 01:03:48,650 Unë kam qenë bërë ata vetëm të jenë lajthi-picky këtu. 1576 01:03:48,650 --> 01:03:51,350 Por kur ju keni një gjendje që vetëm ka një linjë të 1577 01:03:51,350 --> 01:03:55,100 Kodi, si një lehtësi, programuesit nuk kanë nevojë të përdorin 1578 01:03:55,100 --> 01:03:56,030 formatimin e teksteve kaçurrel. 1579 01:03:56,030 --> 01:03:59,370 Kjo mjafton për të vetëm porosit, për arsye estetike, dhe 1580 01:03:59,370 --> 01:04:01,050 pastaj shkruani linjë tuaj të kodit. 1581 01:04:01,050 --> 01:04:04,160 Vetëm kur ju dëshironi të shkruani dy rreshta të kodit - për 1582 01:04:04,160 --> 01:04:08,230 shembull, tjetër printf ("Mirupafshim!"). Nëse ju doni të bëni 1583 01:04:08,230 --> 01:04:09,540 se, kjo është e thyer. 1584 01:04:09,540 --> 01:04:11,700 Ju mund të porosit të gjithë ju duan, por fakti që ju keni 1585 01:04:11,700 --> 01:04:14,600 shtypur dy rreshta të kodit pa përdorimin e formatimin e teksteve kaçurrel 1586 01:04:14,600 --> 01:04:16,860 do të thotë se ky program nuk do të kandidojë saktë, ose mund të 1587 01:04:16,860 --> 01:04:18,530 jo edhe përpilojnë saktë. 1588 01:04:18,530 --> 01:04:21,040 Kështu që tani për tani, të jem i sinqertë, unë mendoj se është vetëm zakon të mirë 1589 01:04:21,040 --> 01:04:24,460 përdorni formatimin e teksteve kaçurrel, dhe ju do të gjeni se ata bëjnë 1590 01:04:24,460 --> 01:04:25,750 super e qartë se çfarë po ndodh. 1591 01:04:25,750 --> 01:04:29,410 >> Gjithashtu, si një mënjanë - veçanërisht nëse ju jeni në mesin e atyre që përdorin 1592 01:04:29,410 --> 01:04:31,700 librat e rekomanduara apo burime online - 1593 01:04:31,700 --> 01:04:33,480 të kuptojë se nuk ka ky nocion e stilit në 1594 01:04:33,480 --> 01:04:34,130 programimit. 1595 01:04:34,130 --> 01:04:37,280 Dhe disa njerëz preferojnë të vërtetë për të vënë në mbajtëse kaçurrel 1596 01:04:37,280 --> 01:04:38,720 mbi këtu në një linjë. 1597 01:04:38,720 --> 01:04:41,520 Disa njerëz preferojnë të bëjnë gjëra qesharake, 1598 01:04:41,520 --> 01:04:43,830 si ata vënë këtu. 1599 01:04:43,830 --> 01:04:45,140 Nuk ka përgjigje të gabuar kur është fjala për 1600 01:04:45,140 --> 01:04:46,710 stil, por kjo është e gabuar. 1601 01:04:46,710 --> 01:04:47,700 Por disa njerëz bëjnë atë. 1602 01:04:47,700 --> 01:04:49,160 [Qeshura] 1603 01:04:49,160 --> 01:04:51,760 DAVID J. Malan: Kështu që unë përmend këtë tani, thjesht sepse si 1604 01:04:51,760 --> 01:04:54,400 keni lexuar deri në gjërat në libra apo online, ju jeni do të merrni 1605 01:04:54,400 --> 01:04:55,990 mesazhe të ndryshme nga mësuesit e ndryshme dhe 1606 01:04:55,990 --> 01:04:56,730 autorë të ndryshëm. 1607 01:04:56,730 --> 01:04:58,640 Dhe vetëm të kuptojë se, funksionalisht, ata janë 1608 01:04:58,640 --> 01:05:00,740 në përgjithësi e barabartë, por të jenë në përputhje. 1609 01:05:00,740 --> 01:05:02,850 Pra, në këtë rast, ne do të standardizohet në kacurrela 1610 01:05:02,850 --> 01:05:04,650 formatimin e teksteve rreshtuar këtu në të majtë. 1611 01:05:04,650 --> 01:05:04,910 >> Dakord. 1612 01:05:04,910 --> 01:05:07,040 Pra, le të shkojnë përpara dhe për të drejtuar këtë tani, dhe shikoni se çfarë ndodh 1613 01:05:07,040 --> 01:05:07,780 me këtë program. 1614 01:05:07,780 --> 01:05:09,970 Bëni nonswitch. 1615 01:05:09,970 --> 01:05:11,040 Pastaj të drejtuar nonswitch. 1616 01:05:11,040 --> 01:05:13,900 Më jepni një numër të plotë në mes 0 dhe - kështu që nuk është e rëndësishme 1617 01:05:13,900 --> 01:05:16,480 më, por unë jam vetëm duke shkuar për të thonë në mënyrë arbitrare 42. 1618 01:05:16,480 --> 01:05:17,850 Dhe unë kap përgjigjen e duhur. 1619 01:05:17,850 --> 01:05:20,430 E pra tani, le të vërtetë të marrë këtë në një drejtim tjetër. 1620 01:05:20,430 --> 01:05:22,070 Ajo rezulton se ka disa sintaksë tjetër ne 1621 01:05:22,070 --> 01:05:23,480 mund të përdorni në një program. 1622 01:05:23,480 --> 01:05:27,310 Këtu është një copë e re e sintaksës që është funksionalisht i njëjtë, 1623 01:05:27,310 --> 01:05:30,680 por vetëm prezanton një tjetër mënyrë për të shprehur veten. 1624 01:05:30,680 --> 01:05:32,830 Pra, kjo është ajo që quhet një "deklaratë switch". Dhe një 1625 01:05:32,830 --> 01:05:34,820 Deklarata kaloni vepron si më poshtë. 1626 01:05:34,820 --> 01:05:37,580 Ajo merr, në kllapa, një vlerë që ju dëshironi për të 1627 01:05:37,580 --> 01:05:38,860 "Kaloni" në. 1628 01:05:38,860 --> 01:05:41,490 Ju dëshironi që të sillen ndryshe në bazë të vlerës së saj. 1629 01:05:41,490 --> 01:05:44,360 Pra, kjo do të thotë kaloni në vlerën e n. 1630 01:05:44,360 --> 01:05:45,480 Dhe çfarë do të thotë kjo? 1631 01:05:45,480 --> 01:05:50,530 Pra, nëse n është 1 ose 2 ose 3, shkojnë përpara dhe printuar nga "You 1632 01:05:50,530 --> 01:05:52,680 kap një numër të madh "dhe pastaj pushim. 1633 01:05:52,680 --> 01:05:55,720 Arsyeja për pushim është se mënyra C punon është si 1634 01:05:55,720 --> 01:05:59,790 shpejt që gjen një rast që përputhet, ajo fillon ekzekutimin e 1635 01:05:59,790 --> 01:06:01,610 të gjithë kodin e mëposhtëm saj. 1636 01:06:01,610 --> 01:06:04,580 Pra, nëse unë kam një linjë të kodit, siç po bëj unë këtu on line 27, ai 1637 01:06:04,580 --> 01:06:05,360 merr ekzekutuar. 1638 01:06:05,360 --> 01:06:07,520 Nëse unë shtoni një tjetër linjë këtu, ajo merr ekzekutuar. 1639 01:06:07,520 --> 01:06:09,350 Një tjetër linjë këtu, ajo merr ekzekutuar. 1640 01:06:09,350 --> 01:06:12,460 Program vetëm ndalon ekzekutimin çfarë është më poshtë 1641 01:06:12,460 --> 01:06:14,680 Deklarata e zbatueshme rasti kur unë në mënyrë eksplicite 1642 01:06:14,680 --> 01:06:17,210 thonë "pushim". Në mënyrë të gabuar. 1643 01:06:17,210 --> 01:06:19,220 Të drejtë, në këtë rast, si rezultat i kësaj. 1644 01:06:19,220 --> 01:06:22,130 4 rasti ose 5 ose 6, në mënyrë të ngjashme, po shkon 1645 01:06:22,130 --> 01:06:23,160 për të shkruar një mesazh. 1646 01:06:23,160 --> 01:06:24,410 Në këtë rast, numri mesme. 1647 01:06:24,410 --> 01:06:25,200 Pushim. 1648 01:06:25,200 --> 01:06:28,160 Rasti 7, 8, 9, 10, ajo do të shtypura nga "ju kap një i madh 1649 01:06:28,160 --> 01:06:28,950 Numri i. "Pushim. 1650 01:06:28,950 --> 01:06:31,290 Dhe pastaj nuk ka fjalë për fjalë një fjalen quajtur "prezgjedhur" 1651 01:06:31,290 --> 01:06:34,090 që është në mënyrë efektive si "tjetër" të ndërtuar. 1652 01:06:34,090 --> 01:06:36,010 Pra Sintaksa e re, por intelektualisht, 1653 01:06:36,010 --> 01:06:37,060 asgjë të gjithë këtu të re. 1654 01:06:37,060 --> 01:06:38,280 Është vetëm si Scratch. 1655 01:06:38,280 --> 01:06:41,040 Nëse, tjetër në qoftë se, në qoftë se tjetër, lloj i bllokut. 1656 01:06:41,040 --> 01:06:44,560 >> Pra, kjo është versioni i kaloi i këtij programi. 1657 01:06:44,560 --> 01:06:46,280 Por vini re se ne e bëmë atë me numra këtu. 1658 01:06:46,280 --> 01:06:49,040 Më lejoni të hapë një version të dytë, vetëm për të treguar 1659 01:06:49,040 --> 01:06:50,670 diçka pak më konkrete. 1660 01:06:50,670 --> 01:06:52,840 Pra, këtu kemi nota vend. 1661 01:06:52,840 --> 01:06:55,540 Rezulton nga ju mund të përdorni çelsin jo vetëm në integers, por në 1662 01:06:55,540 --> 01:06:56,340 karaktere. 1663 01:06:56,340 --> 01:06:58,930 Jo në të gjitha llojet e të dhënave, por të paktën në karaktere. 1664 01:06:58,930 --> 01:07:02,670 Kështu që këtu, ne mund të bëjmë diçka si në qoftë se vlera e C që 1665 01:07:02,670 --> 01:07:06,230 përdoruesit shtypur në, në përputhje 19, duke përdorur funksionin GetChar, 1666 01:07:06,230 --> 01:07:09,410 është kryeqyteti A ose me të vogla a, le të interpretuar atë si një gradë, 1667 01:07:09,410 --> 01:07:11,340 dhe thonë se ata morën një notë të shkëlqyer. 1668 01:07:11,340 --> 01:07:14,690 Dhe poshtë së bashku deklaratë kaloni, a kemi të tjera 1669 01:07:14,690 --> 01:07:17,950 raste për "B" s dhe "C" s, dhe kështu me radhë. 1670 01:07:17,950 --> 01:07:19,780 Por tani le të rrumbullakët një gjë tjetër. 1671 01:07:19,780 --> 01:07:21,130 Dhe përsëri, lloj fluturuar përmes 1672 01:07:21,130 --> 01:07:22,200 disa nga këto shembuj. 1673 01:07:22,200 --> 01:07:26,990 Por është e vërtetë në mënyrë që ne mund të aplikojnë ato, tani - 1674 01:07:26,990 --> 01:07:28,880 apo me të vërtetë, vetëm përkthejnë ato tani - 1675 01:07:28,880 --> 01:07:32,220 për C. 1676 01:07:32,220 --> 01:07:33,310 >> Pra më lejoni të shkoj përpara dhe të bëjë këtë. 1677 01:07:33,310 --> 01:07:34,830 Unë jam duke shkuar për të hapur një skedë të re. 1678 01:07:34,830 --> 01:07:39,430 Dhe unë jam duke shkuar për të bërë përfshijë . 1679 01:07:39,430 --> 01:07:42,770 Dhe atëherë unë jam duke shkuar për të bërë int kryesor (i pavlefshëm). 1680 01:07:42,770 --> 01:07:46,390 Më lejoni të ruaj këtë foto si një loop.c. 1681 01:07:46,390 --> 01:07:48,280 Ashtu si një shembull. 1682 01:07:48,280 --> 01:07:49,910 Dhe unë jam duke shkuar për të shkuar përpara dhe të bëjë në vijim. 1683 01:07:49,910 --> 01:07:54,180 Unë dua të shkruaj një program shumë të lodhshme. 1684 01:07:54,180 --> 01:07:56,170 Pra 10. 1685 01:07:56,170 --> 01:07:58,862 Le ta bëjmë këtë. 1686 01:07:58,862 --> 01:07:59,320 9. 1687 01:07:59,320 --> 01:08:00,360 Dakord. 1688 01:08:00,360 --> 01:08:02,120 Sa më shpejt që ju të fillojnë të bëjnë këtë në programimin, ju jeni 1689 01:08:02,120 --> 01:08:03,490 ndoshta duke bërë diçka të gabuar. 1690 01:08:03,490 --> 01:08:04,950 Por ne do të fillojë atje anyway. 1691 01:08:04,950 --> 01:08:05,430 Oops. 1692 01:08:05,430 --> 01:08:06,950 Kjo është në fakt e gabuar. 1693 01:08:06,950 --> 01:08:08,230 7. 1694 01:08:08,230 --> 01:08:09,440 6. 1695 01:08:09,440 --> 01:08:10,750 5. 1696 01:08:10,750 --> 01:08:11,200 4. 1697 01:08:11,200 --> 01:08:12,450 Asgjë nuk do të ndodhë kur ne të merrni për të 0. 1698 01:08:12,450 --> 01:08:13,290 3. 1699 01:08:13,290 --> 01:08:14,590 2. 1700 01:08:14,590 --> 01:08:15,630 1. 1701 01:08:15,630 --> 01:08:16,020 Rregull. 1702 01:08:16,020 --> 01:08:17,560 0. 1703 01:08:17,560 --> 01:08:18,689 Fshini. 1704 01:08:18,689 --> 01:08:19,029 >> Dakord. 1705 01:08:19,029 --> 01:08:20,029 Pra, kthehet 0. 1706 01:08:20,029 --> 01:08:22,010 Pra, ky program është padyshim do të bëjë atë që shumë 1707 01:08:22,010 --> 01:08:23,310 tediously thotë se ajo do të bëjë. 1708 01:08:23,310 --> 01:08:24,060 Ajo do të shtypur të gjithë ata 1709 01:08:24,060 --> 01:08:25,290 vlerat, nga maja e deri në fund. 1710 01:08:25,290 --> 01:08:27,140 Pra më lejoni të bëjë të bërë lak. 1711 01:08:27,140 --> 01:08:28,640 Dhe pastaj - uh. 1712 01:08:28,640 --> 01:08:29,700 Bëni lak. 1713 01:08:29,700 --> 01:08:31,479 Unë kam qenë në directory gabuar. 1714 01:08:31,479 --> 01:08:33,300 Dhe tani më lejoni të kandidojë lak. 1715 01:08:33,300 --> 01:08:34,140 Enter. 1716 01:08:34,140 --> 01:08:34,620 Woohoo. 1717 01:08:34,620 --> 01:08:35,270 Very nice. 1718 01:08:35,270 --> 01:08:36,279 Bukur, programi gjatë. 1719 01:08:36,279 --> 01:08:38,109 >> Të gjithë të drejtë, por tani le ta bëjmë këtë më mirë. 1720 01:08:38,109 --> 01:08:40,810 Ashtu si në Scratch, kur ju keni filluar duke përdorur një looping 1721 01:08:40,810 --> 01:08:43,149 ndërtimin, në vend të vetëm kopjimi dhe pasting të gjithë 1722 01:08:43,149 --> 01:08:45,580 copa mister, më lejoni të prezantoj këtë gjë. 1723 01:08:45,580 --> 01:08:48,609 Pra në C, ka konstruktet ndryshme looping, 1724 01:08:48,609 --> 01:08:50,540 njëra prej të cilave duket si ky. 1725 01:08:50,540 --> 01:08:55,069 Një "për" loop ka tre gjëra, ndarë nga dy pika. 1726 01:08:55,069 --> 01:08:57,770 Dhe pastaj, në brendësi të trupit të lak, kështu që të flasin - 1727 01:08:57,770 --> 01:08:59,390 brenda sende të formatimin e teksteve kaçurrel - 1728 01:08:59,390 --> 01:09:01,010 ne mund të bëjmë diçka përsëri dhe përsëri. 1729 01:09:01,010 --> 01:09:02,310 Pra, ajo që unë kam këtu në ekran, kjo është 1730 01:09:02,310 --> 01:09:03,300 fjalë për fjalë vetëm një koment. 1731 01:09:03,300 --> 01:09:05,380 / / Do të thotë këtu vjen një koment. 1732 01:09:05,380 --> 01:09:06,180 Kjo nuk është kodi. 1733 01:09:06,180 --> 01:09:08,890 Kjo është vetëm përshkrim angleze, për mua, njeriut. 1734 01:09:08,890 --> 01:09:11,300 >> Initializations Pra, kushtet, dhe përditësime. 1735 01:09:11,300 --> 01:09:12,770 E pra, le të shohim se si punon kjo. 1736 01:09:12,770 --> 01:09:15,520 Kjo lejon mua që të ndryshonin këtë program si më poshtë. 1737 01:09:15,520 --> 01:09:16,399 Për - 1738 01:09:16,399 --> 01:09:18,029 kështu që këtu vjen lak time - 1739 01:09:18,029 --> 01:09:19,439 int - 1740 01:09:19,439 --> 01:09:21,330 këtu vjen një ndryshore të quajtur "i" - 1741 01:09:21,330 --> 01:09:23,140 merr nisur në 10. 1742 01:09:23,140 --> 01:09:25,260 Kështu që nuk është initialization ime. 1743 01:09:25,260 --> 01:09:29,450 Unë dua të bëj këtë lak për aq kohë sa "i" është më i madh sesa ose e 1744 01:09:29,450 --> 01:09:30,899 barabartë me 0. 1745 01:09:30,899 --> 01:09:32,880 Dhe në çdo përsëritje të këtij loop, unë dua 1746 01:09:32,880 --> 01:09:34,979 të bëjë i -. 1747 01:09:34,979 --> 01:09:36,310 Pra, ne pamë + + hënën. 1748 01:09:36,310 --> 01:09:37,660 - Është kundërta. 1749 01:09:37,660 --> 01:09:39,410 Ajo decrements vlerën nga 1. 1750 01:09:39,410 --> 01:09:43,319 Brenda këtij loop, unë dua të bëjë në fakt diçka. 1751 01:09:43,319 --> 01:09:46,390 Kështu që unë jam duke shkuar për të thonë diçka si printf. 1752 01:09:46,390 --> 01:09:48,939 Unë nuk dua të them 10 tani, sepse kjo padyshim është vetëm 1753 01:09:48,939 --> 01:09:50,000 duke shkuar për të shkruar të njëjtën vlerë. 1754 01:09:50,000 --> 01:09:52,246 Çfarë unë dua të shtypura në vend, ndoshta? 1755 01:09:52,246 --> 01:09:52,590 Po. 1756 01:09:52,590 --> 01:09:55,270 Pra, "i." Kështu% d, i. 1757 01:09:55,270 --> 01:09:57,340 >> Kështu që unë jam duke shkuar për të vjedhur një nga ato ide nga më parë - 1758 01:09:57,340 --> 01:09:59,640 ky zëvendësim për kodet format - 1759 01:09:59,640 --> 01:10:01,620 dhe pastaj këtu poshtë, në fund, unë do të kthehen 0, vetëm 1760 01:10:01,620 --> 01:10:02,710 për masë të mirë. 1761 01:10:02,710 --> 01:10:04,740 Por tani, unë kam një program më të ngjeshur. 1762 01:10:04,740 --> 01:10:07,490 Është vetëm disa rreshta, dhe jo rreth 10 ose 11 rreshta. 1763 01:10:07,490 --> 01:10:09,440 Lermë të shkoj të shpejtë time këtu poshtë. 1764 01:10:09,440 --> 01:10:10,630 Loop xhirim. 1765 01:10:10,630 --> 01:10:12,140 Përsëritje lak. 1766 01:10:12,140 --> 01:10:13,570 Dhe kjo duket të jetë e njëjtë. 1767 01:10:13,570 --> 01:10:15,550 Tani, programi nuk është më interesante. 1768 01:10:15,550 --> 01:10:17,180 Por tani unë mund të shtypni diçka si kjo. 1769 01:10:17,180 --> 01:10:18,970 Unë mund të ndryshojë këtë në 100. 1770 01:10:18,970 --> 01:10:21,400 Unë pastaj mund recompile programin tim. 1771 01:10:21,400 --> 01:10:23,360 Dhe atëherë unë mund të ri-drejtuar programin tim. 1772 01:10:23,360 --> 01:10:26,390 Dhe tani ajo shkon super-fast në kompjuterët e sotëm. 1773 01:10:26,390 --> 01:10:27,820 Por nuk kam - 1774 01:10:27,820 --> 01:10:29,620 dhe në fakt, tampon im rrëshqitje nuk 1775 01:10:29,620 --> 01:10:30,890 madje shkojnë aq larg. 1776 01:10:30,890 --> 01:10:31,680 Nuk shkojmë. 1777 01:10:31,680 --> 01:10:34,090 Pra, nuk kemi të gjithë 100. 1778 01:10:34,090 --> 01:10:35,880 Por është e lehtë për të bërë gabime këtu. 1779 01:10:35,880 --> 01:10:37,920 Çfarë do të jetë sjellja e pritshme në qoftë se unë 1780 01:10:37,920 --> 01:10:41,150 aksidentalisht bëjë këtë? 1781 01:10:41,150 --> 01:10:42,550 Pra, ai ndjehet si pafund. 1782 01:10:42,550 --> 01:10:44,670 Pra, le të shohim nëse kompjuteri sillet. 1783 01:10:44,670 --> 01:10:47,020 >> Pra më lejoni të shkoj përpara dhe të bëjë lak. 1784 01:10:47,020 --> 01:10:48,355 Dhe më lejoni të kandidojë lak. 1785 01:10:53,590 --> 01:10:55,210 Pra, le të vijë përsëri në se në një moment të vetëm. 1786 01:10:55,210 --> 01:10:56,720 Ne do të le që të kandidojë. 1787 01:10:56,720 --> 01:10:59,520 Sepse çfarë duhet të llogariten deri në, minimalisht? 1788 01:10:59,520 --> 01:11:02,200 Ndoshta të paktën 2 miliardë, në qoftë se ne kemi bit shumë, dhe 1789 01:11:02,200 --> 01:11:03,660 ne jemi duke përdorur vlerat pozitive. 1790 01:11:03,660 --> 01:11:04,890 Pra, le të hidhen përsëri këtu. 1791 01:11:04,890 --> 01:11:07,810 Përveç këtyre llojeve të sythe, ne kemi atë që janë quajtur, ndërsa 1792 01:11:07,810 --> 01:11:09,430 sythe. Pra, ashtu si në Scratch, keni pasur Forever 1793 01:11:09,430 --> 01:11:11,240 blloqe, dhe ju kishin blloqe të përsëritur. 1794 01:11:11,240 --> 01:11:13,270 Në mënyrë të ngjashme, në C, ju vetëm duhet mënyra të tjera 1795 01:11:13,270 --> 01:11:14,260 për të shprehur veten. 1796 01:11:14,260 --> 01:11:17,110 Pra, ju e keni këtë idenë e një lak, ndërsa që ju lejon të 1797 01:11:17,110 --> 01:11:18,860 shprehin veten pak ndryshe. 1798 01:11:18,860 --> 01:11:21,490 Dhe atëherë ju keni diçka të quajtur një lak për ta bërë, ndërsa, 1799 01:11:21,490 --> 01:11:24,200 e cila vepron pak më ndryshe si. 1800 01:11:24,200 --> 01:11:25,320 Dhe ne do të vë në lojë përveç këtyre kalimin e kohës. 1801 01:11:25,320 --> 01:11:28,630 >> Por le të marrë një sy në këtë të fundit këtu. 1802 01:11:28,630 --> 01:11:30,160 Nëse ne do të shkojmë në - 1803 01:11:30,160 --> 01:11:31,466 ende running. 1804 01:11:31,466 --> 01:11:32,770 Kjo është goxha e pafund. 1805 01:11:32,770 --> 01:11:36,870 Pra më lejoni të shkoj në pozitive, dhe të tregojnë se si ne mund të vërtetë 1806 01:11:36,870 --> 01:11:39,410 qeverisur dhëna përdoruesi pak më efikase. 1807 01:11:39,410 --> 01:11:40,910 Është një program mjaft të shkurtër. 1808 01:11:40,910 --> 01:11:43,730 Dhe këtu ne kemi, në kryesore, një int n deklaratë. 1809 01:11:43,730 --> 01:11:46,570 Pra, më jepni një ndryshore të quajtur n. Tani, unë them fjalë për fjalë 1810 01:11:46,570 --> 01:11:48,340 "Bëjnë." Dhe pastaj kam hapur kaçurrel 1811 01:11:48,340 --> 01:11:49,630 Braçe, shtrëngoj ngushtë kaçurrel. 1812 01:11:49,630 --> 01:11:52,000 Dhe pastaj vini re, menjëherë pas kësaj, ajo thotë se ndërsa n 1813 01:11:52,000 --> 01:11:53,790 është më pak se 1. 1814 01:11:53,790 --> 01:11:55,300 Pra, vini re se këto rreshta - 1815 01:11:55,300 --> 01:11:56,740 19-24 - 1816 01:11:56,740 --> 01:11:59,450 kompozojnë kolektivisht një lak për ta bërë kohë. 1817 01:11:59,450 --> 01:12:01,280 Dhe përsëri, sintaksë e re, nuk është një ide e re. 1818 01:12:01,280 --> 01:12:03,740 Kjo është vetëm një tjetër mënyrë për të looping, syntactically. 1819 01:12:03,740 --> 01:12:04,890 Pra, çfarë do të bëni këtë? 1820 01:12:04,890 --> 01:12:08,000 Të bëjë në vijim, ndërsa n është më pak se 1. 1821 01:12:08,000 --> 01:12:09,080 Pra, çfarë unë dua të bëj? 1822 01:12:09,080 --> 01:12:11,390 Unë të kërkojë që ju të jepni një numër i plotë pozitiv. 1823 01:12:11,390 --> 01:12:14,110 Pastaj unë në fakt përpiqen për të marrë një numër të plotë nga ana e përdoruesit. 1824 01:12:14,110 --> 01:12:16,740 Por në aspektin e rendit të operacioneve këtu, sepse 1825 01:12:16,740 --> 01:12:21,850 ndërsa gjendja është këtu poshtë, unë jam duke shkuar për të kontrolluar atëherë, është n 1826 01:12:21,850 --> 01:12:23,100 më pak se 1? 1827 01:12:23,100 --> 01:12:24,600 Pra, mendoj se përdoruesit - 1828 01:12:24,600 --> 01:12:26,450 pasi u kërkuar në këtë mënyrë - 1829 01:12:26,450 --> 01:12:29,190 Llojet në 0 vlerë. 1830 01:12:29,190 --> 01:12:34,510 Ky kusht do të jetë e vërtetë apo e rreme? 1831 01:12:34,510 --> 01:12:35,820 E pra, kjo është në fakt do të jetë e vërtetë. 1832 01:12:35,820 --> 01:12:38,700 Sepse n është 0, dhe 0 është më pak se 1. 1833 01:12:38,700 --> 01:12:40,140 Pra, çfarë do të thotë kjo? 1834 01:12:40,140 --> 01:12:41,160 Bëjë atë përsëri. 1835 01:12:41,160 --> 01:12:41,990 Bëjë atë përsëri. 1836 01:12:41,990 --> 01:12:42,640 Bëjë atë përsëri. 1837 01:12:42,640 --> 01:12:46,080 Vetëm një herë se gjendja e vlerëson të rreme. 1838 01:12:46,080 --> 01:12:47,510 Nëse unë lloji në 42. 1839 01:12:47,510 --> 01:12:49,690 E pra jo, 42 është jo më pak se 1. 1840 01:12:49,690 --> 01:12:52,320 Prandaj ky loop është bërë ekzekutimin. 1841 01:12:52,320 --> 01:12:54,650 Dhe kështu në këtë pikë, programi do të thonë, faleminderit për 1842 01:12:54,650 --> 01:12:57,530 42, në këtë rast. 1843 01:12:57,530 --> 01:13:00,320 Tani që ju e keni këtë mënyrë për të shprehur veten - 1844 01:13:00,320 --> 01:13:02,360 Ne nuk duhet të presim që kjo të përfundojë. 1845 01:13:02,360 --> 01:13:03,620 Ajo do të marrë disa kohë. 1846 01:13:03,620 --> 01:13:04,990 Për të vazhduar herën tjetër, ndoshta. 1847 01:13:04,990 --> 01:13:08,050 >> Por tani, ju keni mundësinë për të shpresojmë për të kuptuar një 1848 01:13:08,050 --> 01:13:09,060 bit e humorit geek. 1849 01:13:09,060 --> 01:13:11,560 Apologies. 1850 01:13:11,560 --> 01:13:13,620 Kjo nuk është përfaqësues i humorit në shkencën kompjuterike 1851 01:13:13,620 --> 01:13:14,870 botë, por është e bukur. 1852 01:13:21,020 --> 01:13:23,890 Fundi [Qesh] Le në këtë shënim. 1853 01:13:23,890 --> 01:13:25,750 Dhe ne do të shohim ju në hënën. 1854 01:13:25,750 --> 01:13:31,629 [Duartrokitje]