1 00:00:00,000 --> 00:00:12,410 >> [Duke luajtur muzikë] 2 00:00:12,410 --> 00:00:12,830 >> DAVID Malan: Të gjithë të drejtë. 3 00:00:12,830 --> 00:00:13,370 Mirë se vini mbrapa. 4 00:00:13,370 --> 00:00:16,510 Kjo është CS50, dhe kjo është Week One, Vazhdon. 5 00:00:16,510 --> 00:00:20,050 Pra, një nga arsyet që ne kemi qenë që kalojnë rreth teknologjive si 6 00:00:20,050 --> 00:00:24,120 Google Glass është se ata vijnë me diçka e njohur si një API, një 7 00:00:24,120 --> 00:00:25,980 Application Programming Interface. 8 00:00:25,980 --> 00:00:28,830 Dhe çfarë kjo do të thotë është se me Fotografi të duhur dhe me të drejtë 9 00:00:28,830 --> 00:00:32,850 dokumentacioni, ju në fakt mund të shkruani software për pajisje edhe si këto. 10 00:00:32,850 --> 00:00:36,200 >> Dhe kështu që ajo që ne kemi në mendje drejt semestra fund është, në qoftë se një projekt 11 00:00:36,200 --> 00:00:39,310 përfshin, të themi, qelqi Google mund të apeli, ne do të shohim se çfarë mund të bëjmë në 12 00:00:39,310 --> 00:00:42,220 Kushtet e ju up hooking me disa hardware loaner si 13 00:00:42,220 --> 00:00:46,500 API-të qasshme publikisht në mënyrë që ju mund të në të vërtetë të fillojë krijimin e softuerit 14 00:00:46,500 --> 00:00:48,630 që shkon në atë Glass njëjtën Google. 15 00:00:48,630 --> 00:00:51,710 >> Një pajisje që ne kemi qenë duke luajtur e me vonë se ne kemi menduar mund të jetë 16 00:00:51,710 --> 00:00:53,910 fun në fund semestër është kjo gjë pak këtu. 17 00:00:53,910 --> 00:00:56,860 Ajo që quhet Motion brishtë, dhe atë që ju jeni gati për të parë është teknikisht një 18 00:00:56,860 --> 00:01:00,280 shpallje për pajisjen, por ajo flet për atë që kjo të veçantë 19 00:01:00,280 --> 00:01:01,240 pajisja është e aftë të. 20 00:01:01,240 --> 00:01:05,550 Dhe kjo, gjithashtu, vjen me një API me anë të të cilat ju mund të shkruani software për 21 00:01:05,550 --> 00:01:10,545 të kontrollojë kompjuterin tuaj në një mënyrë të mjaft e pëlqen këtë film një-minutësh këtu. 22 00:01:10,545 --> 00:01:12,070 >> [Video playback] 23 00:01:12,070 --> 00:02:08,002 24 00:02:08,002 --> 00:02:08,590 >> [VIDEO END rishikim] 25 00:02:08,590 --> 00:02:11,190 >> Deri tani, kjo pajisje ndodh me të zbatohet si një USB pak 26 00:02:11,190 --> 00:02:14,290 lidhës që ju mund të plug në tuaj kompjuter, por unë nuk do të çuditesha 27 00:02:14,290 --> 00:02:17,930 në qoftë se para se të gjatë kemi këto lloje të teknologjive në grumbull të ardhshëm të PC 28 00:02:17,930 --> 00:02:20,510 dhe Macs kështu që ju mund të, në të vërtetë, bashkëveprojnë me të në 29 00:02:20,510 --> 00:02:21,650 një mënyrë të tillë. 30 00:02:21,650 --> 00:02:24,250 Në fakt, ajo që unë mendova se do të bëjë, gjithashtu, është I nxorrën një demonstratë pak 31 00:02:24,250 --> 00:02:25,860 program që vjen me këtë softuer. 32 00:02:25,860 --> 00:02:28,700 Kështu që unë kam vënë sensor pak në frontin e laptop tim. 33 00:02:28,700 --> 00:02:32,420 >> Dhe si ju mund të shihni, ajo tashmë e kupton se dora ime është atje 34 00:02:32,420 --> 00:02:33,400 kontrollin atë. 35 00:02:33,400 --> 00:02:37,900 Dhe e gjithë kjo kërkesë nuk është e vaj pak gjëra si kjo. 36 00:02:37,900 --> 00:02:41,080 Por ju mund të shihni se, në të vërtetë, Unë kam pesë gishtat atje. 37 00:02:41,080 --> 00:02:44,270 Nëse ne mund të merrni atë për të bërë të gjitha 10, ju mund të imagjinohet një piano zoti 38 00:02:44,270 --> 00:02:45,390 Aplikimi apo si. 39 00:02:45,390 --> 00:02:47,820 Pra, nëse ju dëshironi të dalë pas klasës sot dhe të luajë me se si 40 00:02:47,820 --> 00:02:49,720 mirë, ju jeni të mirëpritur për të. 41 00:02:49,720 --> 00:02:52,930 Pra, më shumë se drejt fund semestër. 42 00:02:52,930 --> 00:02:54,420 >> Pra, një çift i administrative njoftime. 43 00:02:54,420 --> 00:02:58,690 Një, bëjnë pjesë në këtë e premte në mesditë në cs60.net/section. 44 00:02:58,690 --> 00:03:01,260 Kjo URL është në kurs të faqe si edhe. 45 00:03:01,260 --> 00:03:04,010 Në ndërkohë, edhe pse, supersections do të debutojnë këtë të dielë. 46 00:03:04,010 --> 00:03:07,800 Supersections janë një kohë gjë, sepse kjo na merr disa kohë për të punuar 47 00:03:07,800 --> 00:03:09,470 se kush është në cilin seksion dhe ku. 48 00:03:09,470 --> 00:03:12,280 >> Pra, kjo dielën e ardhshme, nuk do të jetë një Seksioni për ata më pak të rehatshme, 49 00:03:12,280 --> 00:03:14,040 një seksion për ata më të rehatshme. 50 00:03:14,040 --> 00:03:16,110 Dhe ata prej jush diku në në mes të janë të mirëpritur për të shkuar në 51 00:03:16,110 --> 00:03:17,850 ose të dyja, ose as. 52 00:03:17,850 --> 00:03:19,150 Të dyja këto do të filmohet. 53 00:03:19,150 --> 00:03:22,740 Ata do të jenë në një auditor të madh se një seksion normalisht do të jetë in 54 00:03:22,740 --> 00:03:26,110 Por qëllimi këtu është që t'ju pajisë me disa rehati me një problem të caktuar, 55 00:03:26,110 --> 00:03:29,910 me C, me aplikim CS50, këtë fundjavë, madje edhe para se ju të gjeni tuaj 56 00:03:29,910 --> 00:03:31,050 Caktimi formal seksion. 57 00:03:31,050 --> 00:03:34,700 Pra, ju do të takohet TF tuaj dhe të vogël juaj grupi i sectionmates ne rreth 58 00:03:34,700 --> 00:03:36,350 një javë kohë. 59 00:03:36,350 --> 00:03:38,200 >> Orari i punës, ndërkohë, kanë qenë duke shkuar në. 60 00:03:38,200 --> 00:03:41,020 A të përfitojnë prej tyre sonte apo nesër natën në qoftë se ju do të donte. 61 00:03:41,020 --> 00:03:43,460 Set Problem 0 është për shkak të premten. 62 00:03:43,460 --> 00:03:46,680 Kjo është një ditë më vonë se rregullisht-planifikuar të enjten. 63 00:03:46,680 --> 00:03:50,410 Por me grup Problemi 1, ju do të shihni se ajo përfshin disa të ngrohtë-up 64 00:03:50,410 --> 00:03:52,770 Ushtrimet me të cilat ju vetë mund të zgjasë Juaj 65 00:03:52,770 --> 00:03:54,660 Afati i fundit të enjten për të premten. 66 00:03:54,660 --> 00:03:58,410 Problemi 1 set, ndërkohë, do të debutojnë në faqen e internetit rrjedhën e kjo vjen 67 00:03:58,410 --> 00:04:02,000 E premte, në qoftë se ju dëshironi të rehatohem me ajo si unë e bëri një herë e një kohë në fund 68 00:04:02,000 --> 00:04:04,370 Natën e premte në dhomën tuaj. 69 00:04:04,370 --> 00:04:07,660 >> Pra cs50.net/appliance është vendi ku ju mund të merrni pajisjen CS50 70 00:04:07,660 --> 00:04:09,040 që kemi filluar duke përdorur të hënën. 71 00:04:09,040 --> 00:04:10,140 Ne do të përdorim atë pak më sot. 72 00:04:10,140 --> 00:04:14,040 Por pjesa tjetër e siguroi se problemi Set 1 specifikim do të ecin ju nëpërmjet 73 00:04:14,040 --> 00:04:16,490 pikërisht hapat që duhet për të marrë atë dhe drejtimin. 74 00:04:16,490 --> 00:04:22,120 Pra, mos u bëni merak për të bërë para se Pset 1 në qoftë se ju nuk do të më tepër. 75 00:04:22,120 --> 00:04:22,660 >> Dakord. 76 00:04:22,660 --> 00:04:27,180 Pra, kemi shikuar të hënën në kodin e burimit, por në kontekstin e një të re 77 00:04:27,180 --> 00:04:30,895 gjuhë programimi, domethënë C. Dhe C, ndryshe nga zeroja, nuk është grafik. 78 00:04:30,895 --> 00:04:32,270 Kjo nuk është mister copë. 79 00:04:32,270 --> 00:04:34,450 Kjo është sintaksa më Anglisht-si. 80 00:04:34,450 --> 00:04:37,140 Dhe ka një çift i hapave të përfshira në të vërtetë shkrim dhe drejtimin e një 81 00:04:37,140 --> 00:04:41,650 program në C, sepse përveç burimit Kodi si kjo, keni nevojë për diçka 82 00:04:41,650 --> 00:04:42,890 quajtur një përpilues. 83 00:04:42,890 --> 00:04:46,682 Dhe në kushtet e laik, çfarë bën një përpilues të bëni për ne? 84 00:04:46,682 --> 00:04:47,650 Po. 85 00:04:47,650 --> 00:04:51,040 >> STUDENT: Ai konverton kodin që ju të shkruani për të 0s dhe 1s. 86 00:04:51,040 --> 00:04:51,151 >> DAVID Malan: Mirë. 87 00:04:51,151 --> 00:04:53,580 Pra, ajo konverton kodin që kemi shkruar për 0s dhe 1s. 88 00:04:53,580 --> 00:04:57,730 Ai konverton kodin ashtuquajturin burim për Kodi objekt, kjo e fundit e cila duket 89 00:04:57,730 --> 00:04:59,140 një diçka të vogël si kjo. 90 00:04:59,140 --> 00:05:02,860 Dhe kjo është CPU juaj, truri brenda e kompjuteri juaj, se për shkak të 91 00:05:02,860 --> 00:05:06,280 njerëz të cilët krijuan ata kompjutera, dini se çfarë ato sekuenca 92 00:05:06,280 --> 00:05:07,460 e mesatares 0s dhe 1s. 93 00:05:07,460 --> 00:05:08,640 >> Ndoshta kjo do të thotë të shtypura. 94 00:05:08,640 --> 00:05:10,265 Ndoshta kjo do të thotë shtesë. 95 00:05:10,265 --> 00:05:11,610 Ndoshta kjo do të thotë zbritja. 96 00:05:11,610 --> 00:05:13,350 Ndoshta kjo do të thotë të shfaqin një grafik. 97 00:05:13,350 --> 00:05:16,870 Ka modele paracaktuara të bit se bota ka vendosur të thotë 98 00:05:16,870 --> 00:05:17,700 gjëra të caktuara. 99 00:05:17,700 --> 00:05:20,760 Por, për pjesën më të madhe në këtë kurs, ne do të punojmë në një nivel më të lartë, dhe 100 00:05:20,760 --> 00:05:24,180 ne do të marrë për të dhënë se ekzistojnë gjëra të tilla si hartuesit që mund të 101 00:05:24,180 --> 00:05:27,670 të bëjë funksion kodin burimor tonë në mënyrë që ne synojmë. 102 00:05:27,670 --> 00:05:31,660 >> Pra, programin e parë kemi shkruar javën e kaluar dhe pastaj filloi të portit, në mënyrë që të 103 00:05:31,660 --> 00:05:33,920 flasin, për këtë C kaluara E hënë, ishte kjo. 104 00:05:33,920 --> 00:05:35,700 Kur flamuri gjelbër klikuar, thonë hello. 105 00:05:35,700 --> 00:05:37,430 Kjo ishte, sigurisht, shkruar në Scratch. 106 00:05:37,430 --> 00:05:40,710 Dhe unë pohoi se ekuivalenti program në C dukeshin pak 107 00:05:40,710 --> 00:05:41,520 diçka si kjo. 108 00:05:41,520 --> 00:05:45,050 >> Pra, ajo që unë mendova që ne do të bëjmë në fillim është, le të ngas përveç asaj që duket, në fillim 109 00:05:45,050 --> 00:05:48,790 shikim, pa dyshim, si mjaft misterioze sintaksë, por ju do të filloni të vini re 110 00:05:48,790 --> 00:05:50,160 modele mjaft shpejt. 111 00:05:50,160 --> 00:05:53,770 Ajo që ne gjithashtu do të bëjmë sot është të sigurojë ju me një model mendor për disa 112 00:05:53,770 --> 00:05:57,280 kanonike, disa nga konstruktet standarde në programim. 113 00:05:57,280 --> 00:06:00,420 Dhe pastaj ne do të vërtetë të marrë në duart tona pista me disa shembuj si. 114 00:06:00,420 --> 00:06:04,140 >> Pra, për ata prej jush më të rehatshme, të kuptojë se kjo javë dhe pastaj e ardhshme 115 00:06:04,140 --> 00:06:05,940 Javën e shumë mirë mund të jetë pak e shqyrtimit. 116 00:06:05,940 --> 00:06:08,810 Por sidomos kur edicioni hacker e problemit set 1 shkon jashtë në 117 00:06:08,810 --> 00:06:12,330 Sigurisht website të premten, unë mendoj ju do të gjeni se edhe si ju plotësoni në 118 00:06:12,330 --> 00:06:15,390 disa boshllëqet gjatë javës së ardhshme ose dy, ju do të fillojnë për të marrë gjithnjë e më shumë 119 00:06:15,390 --> 00:06:18,410 sfidohen dhe të hasni gjëra të reja dhe më të reja. 120 00:06:18,410 --> 00:06:21,310 >> Pra, le të ngas këtë program veç e veç disa rreshta në një kohë. 121 00:06:21,310 --> 00:06:24,140 Në shumë të lartë, ne kemi atë që është quajtur teknikisht një 122 00:06:24,140 --> 00:06:25,950 direktivë preprocessor. 123 00:06:25,950 --> 00:06:30,510 Kjo është vetëm një linjë e kodit që thotë të përfshijnë përmbajtjen e një skedar, 124 00:06:30,510 --> 00:06:35,080 I quajtur standard / N, input standard - ose, më vjen keq, standardi I / O, standard 125 00:06:35,080 --> 00:06:38,670 input / output,. h, brenda e programit tim. 126 00:06:38,670 --> 00:06:41,670 >> Pra, me fjalë të tjera, në qoftë se kam shkruar këtë program me një editor teksti të thjeshtë si 127 00:06:41,670 --> 00:06:45,260 gedit, ekuivalenti i thjeshtë diçka si Microsoft Word, që 128 00:06:45,260 --> 00:06:50,970 udhëzim, # include stdio.h, është vetëm do të them përpiluesit, grab 129 00:06:50,970 --> 00:06:56,080 Përmbajtja e kësaj dosje tjetër, stdio.h, dhe ngjiti ato të drejtë këtu. 130 00:06:56,080 --> 00:06:57,090 >> Tani, pse nuk kam intereson? 131 00:06:57,090 --> 00:07:01,850 Çfarë kemi pretendojnë është në brendësi të këtij file quajtur stdio.h, e cila është ruajtur 132 00:07:01,850 --> 00:07:05,490 diku në hard drive time, apo në këtë rasti, diku në aplikim CS50? 133 00:07:05,490 --> 00:07:06,635 Dikush tjetër e vënë atë atje për mua. 134 00:07:06,635 --> 00:07:09,910 Por çfarë është në të? 135 00:07:09,910 --> 00:07:13,020 >> Yeah, kështu që kjo është një deklaratë e një funksion të quajtur printf. 136 00:07:13,020 --> 00:07:17,400 Pra printf kujton funksion që tregon fjalët dhe karaktere dhe 137 00:07:17,400 --> 00:07:20,160 numrat në ekran në ankandin e mia. 138 00:07:20,160 --> 00:07:21,220 Por unë nuk e shkruajnë atë. 139 00:07:21,220 --> 00:07:22,230 CS50 nuk e shkruajnë atë. 140 00:07:22,230 --> 00:07:26,990 Vjet më parë dikush shkroi atë, dhe ata në thelb na dha recetë për atë 141 00:07:26,990 --> 00:07:29,110 në një skedar të quajtur stdio.h. 142 00:07:29,110 --> 00:07:33,240 Kështu që vija e parë vetëm jep mua qasje për funksionet që dikush tjetër 143 00:07:33,240 --> 00:07:36,500 shkroi vjet më parë, në mesin e të cilat janë printf. 144 00:07:36,500 --> 00:07:39,450 >> Tani, linja tjetër unë jam duke shkuar për të valë m'i në dorë, të paktën deri në javën e ardhshme. 145 00:07:39,450 --> 00:07:43,620 Por tani për tani, e di se int kryesor (i pavlefshëm) është në thelb ekuivalent i kësaj 146 00:07:43,620 --> 00:07:46,310 verdhë puzzle copë kur flamuri gjelbër klikuar. 147 00:07:46,310 --> 00:07:49,510 Bota, vite më parë, vendosi që nëse ju jeni duke shkruar një program në 148 00:07:49,510 --> 00:07:53,150 gjuha quajtur C, ju filloni programi juaj me një linjë 149 00:07:53,150 --> 00:07:54,410 që duket si kjo. 150 00:07:54,410 --> 00:07:57,650 Në vetëm rreth një javë kohë, ajo do të bëjë çfarë kuptimi int është, çfarë është e pavlefshme. 151 00:07:57,650 --> 00:08:00,840 Por tani për tani, vetëm të mendojnë për atë si ky verdhë puzzle copë. 152 00:08:00,840 --> 00:08:04,550 >> Tani e ardhshëm, ne kemi një mbajtëse kaçurrel ndjekur nga një tjetër shtrëngoj ngushtë kaçurrel, 153 00:08:04,550 --> 00:08:05,240 kështu që të flasin. 154 00:08:05,240 --> 00:08:07,430 Dhe ne do të shohim këto gjatë gjithë programe në C, si dhe 155 00:08:07,430 --> 00:08:08,930 JavaScript dhe PHP. 156 00:08:08,930 --> 00:08:11,345 Dhe këto vetëm encapsulate Linjat e lidhura me të kodit. 157 00:08:11,345 --> 00:08:14,600 Braçe hapur kaçurrel thelb thotë se, këtu vjen kod komputeri. 158 00:08:14,600 --> 00:08:17,590 Dhe mbyllura shtrëngoj kaçurrel, i cili është angled në drejtimin tjetër, vetëm 159 00:08:17,590 --> 00:08:19,920 do të thotë, kjo është ajo për Kodi relevante. 160 00:08:19,920 --> 00:08:22,970 >> Pra, linja me lëng në këtë e parë Programi është i fundit, printf, 161 00:08:22,970 --> 00:08:25,080 quote-mbyll thonjëzat, Tungjatjeta botë. 162 00:08:25,080 --> 00:08:30,670 Dhe unë e thirra gjë në mes citon atë herën e fundit? 163 00:08:30,670 --> 00:08:31,285 Pra, kjo është një varg. 164 00:08:31,285 --> 00:08:35,309 Dhe një varg është vetëm techie Termi për një sekuencë të 165 00:08:35,309 --> 00:08:37,169 karaktere, një fjalë, një frazë. 166 00:08:37,169 --> 00:08:39,380 Madje edhe një shkronjë e vetme mund të të jenë cituar dyfishtë. 167 00:08:39,380 --> 00:08:41,840 Por kjo është një sekuencë e zero ose më shumë shenja. 168 00:08:41,840 --> 00:08:43,650 >> Backslash-n, edhe pse, duket pak e çuditshme. 169 00:08:43,650 --> 00:08:46,290 Por kjo thjesht do të thotë diçka thjeshtë në kompjuter. 170 00:08:46,290 --> 00:08:48,060 Çfarë është backslash-n? 171 00:08:48,060 --> 00:08:48,570 Linja e re. 172 00:08:48,570 --> 00:08:52,490 Pra, kjo është vetëm sekuencë të veçantë të karaktere që bota ka vendosur 173 00:08:52,490 --> 00:08:56,880 Mjetet vënë një pushim linjë të drejtë atje, sepse përpilues të vërtetë do të merrni 174 00:08:56,880 --> 00:09:02,280 hutuar, zakonisht, në qoftë se ju, shumë të kuptueshme, por gabimisht, vetëm 175 00:09:02,280 --> 00:09:04,570 të fillojë goditur Enter për të vënë Linjat e reja në kodin tuaj. 176 00:09:04,570 --> 00:09:07,150 Ju duhet të jetë pak më shumë eksplicite me backslash-n. 177 00:09:07,150 --> 00:09:10,540 >> Dhe ne do të shohim se ka një të tillë disa të tjera modele për karaktere të veçanta. 178 00:09:10,540 --> 00:09:14,340 Për shembull, në qoftë se ju të kërkuar për të le tuaj mendje enden në një rast qoshe, 179 00:09:14,340 --> 00:09:18,080 mendoj se kam kërkuar për të shtypur një quote dyfishtë në ekran për 180 00:09:18,080 --> 00:09:21,840 çfarëdo arsye, që duket se do të të jetë pak problematike, e drejtë? 181 00:09:21,840 --> 00:09:24,990 Sepse në qoftë se kam vënë një kuotë të dyfishtë në e mesme e "Hello World," për çfarëdo 182 00:09:24,990 --> 00:09:30,120 Arsyeja, pse nuk duket se potencialisht problematike? 183 00:09:30,120 --> 00:09:32,180 Ajo thyen string. 184 00:09:32,180 --> 00:09:34,700 >> Përpiluesi është vetëm një program. 185 00:09:34,700 --> 00:09:37,210 Një program si një përpilues është vetëm do për të lexuar kodin tuaj të lartë deri në fund, 186 00:09:37,210 --> 00:09:37,990 majta në të djathtë. 187 00:09:37,990 --> 00:09:41,850 Dhe në qoftë se e sheh tre kuotat e dyfishtë në vend të dy, ajo nuk do të dinë 188 00:09:41,850 --> 00:09:45,210 në qoftë se ju do të thotë se gjëja për të majtë duhet të jetë string, ose gjë për të 189 00:09:45,210 --> 00:09:46,570 drejtë, apo gjithë gjë. 190 00:09:46,570 --> 00:09:50,560 Është e paqartë, dhe kështu çfarë është një tipik përpilues do të bëni është thjesht të trullos, 191 00:09:50,560 --> 00:09:53,710 dhe ju jap disa mesazh gabimi, dhe të bëjë që ju të merren me problemin. 192 00:09:53,710 --> 00:09:58,120 >> Pra, duke pasur parasysh se backslash-n do të thotë një i ri line, çfarë do instinktet tuaja tani 193 00:09:58,120 --> 00:10:02,610 të fillojë të jetë në qoftë se ju të kërkuar për të përfshirë diçka anormale si një të dyfishtë 194 00:10:02,610 --> 00:10:06,210 japin kuotën e tyre brenda e kësaj ndryshe i cituar string? 195 00:10:06,210 --> 00:10:07,640 Backslash-quote dyfishtë. 196 00:10:07,640 --> 00:10:09,630 Dhe kështu që ne do të shohim këtë lloj model shumë. 197 00:10:09,630 --> 00:10:12,490 >> Nëse ju doni të bëni diçka pak çuditshme, ju do të gjeni se 198 00:10:12,490 --> 00:10:15,060 Zgjidhjet shpesh ndjekin një model, dhe backslash 199 00:10:15,060 --> 00:10:17,150 tregon një sekuencë shpëtojnë. 200 00:10:17,150 --> 00:10:20,320 Dhe kjo thjesht do të thotë diçka të veçantë se ne kemi nevojë për të përfaqësuar në një 201 00:10:20,320 --> 00:10:21,060 mënyrë të ndryshme. 202 00:10:21,060 --> 00:10:23,830 Sa për mënyrën se si mendoni ju përfaqësojnë një backslash, pra, ne do 203 00:10:23,830 --> 00:10:24,550 kthehen në atë. 204 00:10:24,550 --> 00:10:26,930 Por përgjigja, gjithashtu, është në të vërtetë pak e qartë. 205 00:10:26,930 --> 00:10:31,080 >> Pra, tani le të prezantoj disa të tjera konstrukte programimi 206 00:10:31,080 --> 00:10:31,915 që ju panë në Scratch. 207 00:10:31,915 --> 00:10:34,790 Ju keni marrë ndoshta për të dhënë tashmë në qoftë se ju keni fetar tashmë në 208 00:10:34,790 --> 00:10:36,060 Problemi vendosur 0. 209 00:10:36,060 --> 00:10:40,950 Por tani le të prezantuar sintakse në C për këto përndryshe mjaft intuitiv 210 00:10:40,950 --> 00:10:42,300 Idetë, të paktën disa prej tyre. 211 00:10:42,300 --> 00:10:45,570 >> Pra ky nocion i një gjendje apo një degë, ndërsa më parë ne 212 00:10:45,570 --> 00:10:49,330 përfaqësuar atë me kodin që dukej si kjo në të majtë në Scratch - 213 00:10:49,330 --> 00:10:52,200 nëse x është më pak se y, atëherë them kështu - 214 00:10:52,200 --> 00:10:56,760 në vend që tani në C - më lejoni të grihë ne në rastin thjeshtë - 215 00:10:56,760 --> 00:11:01,235 ne jemi thjesht do të thotë, në qoftë se, të hapur parantezë, diçka është e vërtetë - një 216 00:11:01,235 --> 00:11:04,190 Shprehje boolean është duke shkuar për të shkuar ku kam thënë kusht - 217 00:11:04,190 --> 00:11:08,170 kllapë të ngushtë, atëherë bëni çfarë është e brenda këtyre formatimin e teksteve kaçurrel. 218 00:11:08,170 --> 00:11:11,020 >> Pra, edhe këtu, formatimin e teksteve kaçurrel janë lloj si të zeroja 219 00:11:11,020 --> 00:11:12,460 U-formë copa mister. 220 00:11:12,460 --> 00:11:14,890 A atë që është brenda këtyre formatimin e teksteve kaçurrel. 221 00:11:14,890 --> 00:11:16,790 Në këtë rast, çaj çaj. 222 00:11:16,790 --> 00:11:19,720 Dhe vini re kjo është një përpara çaj, jo një backslash. 223 00:11:19,720 --> 00:11:21,440 Forward plagë, plagë përpara, për ata që kam programuar 224 00:11:21,440 --> 00:11:23,370 para, thjesht do të thotë - 225 00:11:23,370 --> 00:11:24,190 kjo është vetëm një koment. 226 00:11:24,190 --> 00:11:26,630 Një koment nuk është një linjë e kodit, në vetvete. 227 00:11:26,630 --> 00:11:30,200 Kjo është një linjë e gjuhës angleze që ju, njerëzor, kanë shkruar për veten tuaj për të 228 00:11:30,200 --> 00:11:33,540 ndoshta ju kujtoj për të bërë diçka, për të shpjegojë për veten tuaj, për të shpjeguar për 229 00:11:33,540 --> 00:11:35,260 dikush tjetër, çfarë kodi juaj është duke bërë. 230 00:11:35,260 --> 00:11:37,050 Është vetëm një koment përshkrues. 231 00:11:37,050 --> 00:11:40,880 >> Tani, sigurisht, ne mund të kemi një rrugë dy- pirun në rrugë vetëm duke bërë këtë, një 232 00:11:40,880 --> 00:11:43,930 tre-palësh pirun në rrugë duke bërë këtë, dhe nëse ju vazhdoni këtë 233 00:11:43,930 --> 00:11:47,570 model, ju mund të ketë katër-mënyrë, pesë-mënyrë, gjashtë kalime forks në rrugë nëse 234 00:11:47,570 --> 00:11:50,150 ju keni nevojë për të trajtuar, me të vërtetë, se kushtet shumë. 235 00:11:50,150 --> 00:11:52,010 Dhe pastaj njoftim paralelizëm këtu - 236 00:11:52,010 --> 00:11:55,070 në qoftë se (kusht), tjetër në qoftë se (kusht), dhe i vetmi që është pak 237 00:11:55,070 --> 00:11:58,010 çuditshme është e fundit, të cilat është tjetër vetëm se. 238 00:11:58,010 --> 00:12:01,170 Por përsëri, kjo është identik, konceptualisht, për atë që kemi bërë 239 00:12:01,170 --> 00:12:04,690 tashmë, edhe pse do sintaksa të marrë pak duke u përdorur për të. 240 00:12:04,690 --> 00:12:07,730 >> Tani, në këtë shembull, nuk janë Sintaksa e disa të tjera të çuditshme. 241 00:12:07,730 --> 00:12:11,220 Ne e shohim printf përsëri, parantezë të hapur, dhe kllapë të ngushtë. 242 00:12:11,220 --> 00:12:13,190 Dhe brenda i ka një varg cituar. 243 00:12:13,190 --> 00:12:17,060 Të kllapat, në kontekstin e printf, shkoni në të majtë 244 00:12:17,060 --> 00:12:18,160 dhe e drejta e kujt? 245 00:12:18,160 --> 00:12:22,190 Çfarë ne përshkruajmë se cituar string si më në përgjithësi? 246 00:12:22,190 --> 00:12:23,320 >> Pra, kjo është një argument. 247 00:12:23,320 --> 00:12:26,620 Çdo herë që të ketë një funksion, si printf, dhe pastaj një Paren hapur dhe një 248 00:12:26,620 --> 00:12:30,330 Paren ngushtë dhe diçka në brendësi të ajo, nëse kjo është një string, ose një 249 00:12:30,330 --> 00:12:34,420 integer, apo ndonjë gjë tjetër, gjë të ndërmjet ato kllapat quhet 250 00:12:34,420 --> 00:12:35,110 një argument. 251 00:12:35,110 --> 00:12:37,910 >> Dhe një argument vetëm ndikon Sjellja e funksionit. 252 00:12:37,910 --> 00:12:39,990 Në këtë rast, kjo është goxha e qartë se si. 253 00:12:39,990 --> 00:12:44,480 x 00:12:47,720 Dhe printf është duke shkuar për të shtypura pikërisht këtë. 255 00:12:47,720 --> 00:12:51,590 Sepse me siguri, vitet personi më parë i cili zbatohet printf kishte asnjë ide 256 00:12:51,590 --> 00:12:55,000 ajo që ne ishin pasuesit e njeriut duke shkuar për të përdorur printf për të. 257 00:12:55,000 --> 00:12:58,610 Pra, kjo është arsyeja pse argumentet ekzistojnë, për të ndikojnë në sjelljen pas një funksion të 258 00:12:58,610 --> 00:12:59,450 qenë shkruar. 259 00:12:59,450 --> 00:13:00,780 >> Tani, shprehje Boolean. 260 00:13:00,780 --> 00:13:02,470 Ne kemi parë këto para në Scratch. 261 00:13:02,470 --> 00:13:06,680 Ajo rezulton në C, ju gjithashtu mund të "ose" ata së bashku, kështu që të flasin. 262 00:13:06,680 --> 00:13:10,930 Dy bare vertikale do të thotë se ky bllok e kodit, kjo e bëjnë këtë, do të 263 00:13:10,930 --> 00:13:15,350 ekzekutuar në qoftë se kushti i parë është e vërtetë ose kushti i dytë është vertete. 264 00:13:15,350 --> 00:13:17,710 Dhe, edhe pse ju nuk mund të ketë bërë këtë në Scratch, ju mund të vërtetë 265 00:13:17,710 --> 00:13:20,580 bëni këtë në Scratch, dhe ju gjithashtu mund shprehur veten ndryshe - 266 00:13:20,580 --> 00:13:25,300 nëse kushti i parë dhe i dytë Kushti janë të vërteta, atëherë bëni çfarë është e 267 00:13:25,300 --> 00:13:27,160 brendësi të braces kaçurrel. 268 00:13:27,160 --> 00:13:31,210 >> Dhe ashtu si një mënjanë, kjo është arsyeja një simbol të dyfishtë dhe një të dyfishtë 269 00:13:31,210 --> 00:13:34,610 bar vertikale, ne do të shohim përfundimisht se një bar të vetme vertikale dhe një 270 00:13:34,610 --> 00:13:38,710 simbol të vetme në të vërtetë kanë të ndryshme që do të thotë në C. Pra, tani për tani, 271 00:13:38,710 --> 00:13:41,840 se dyfishim i simboleve është i qëllimshëm. 272 00:13:41,840 --> 00:13:45,070 >> Pra, le të prezantoj, shkurtimisht, ky bit tjera të sintaksës. 273 00:13:45,070 --> 00:13:48,940 Kjo nuk ka fare të kryer mbi të Scratch, por unë pretendojnë që unë mund të 274 00:13:48,940 --> 00:13:55,190 zbatojë nocionin e një tjetër në qoftë se, në qoftë se tjetër, nëse tjetër, nëse deklaratë tjetër duke përdorur 275 00:13:55,190 --> 00:13:56,760 diçka që quhet një deklaratë të kaloni. 276 00:13:56,760 --> 00:14:00,820 Dhe arsyeja e vetme kjo me të vërtetë ekziston është që vetëm të ju jap, programues, një 277 00:14:00,820 --> 00:14:05,470 mënyrë pak më të ndryshme për zgjidhjen e disa problem, edhe pse logjikisht ajo 278 00:14:05,470 --> 00:14:07,340 nuk ju japin ndonjë aftësive të reja. 279 00:14:07,340 --> 00:14:08,530 >> Me këtë dua të them këtë. 280 00:14:08,530 --> 00:14:13,330 Kur ju thoni kaloni, dhe pastaj një hapësirë, dhe pastaj një palë e kllapa, brenda 281 00:14:13,330 --> 00:14:14,570 i cili shkon një shprehje - 282 00:14:14,570 --> 00:14:18,010 dhe kjo mund të jetë pak jo-dukshme në fillim, por kjo nuk është një argument, 283 00:14:18,010 --> 00:14:20,680 teknikisht, sepse kaloni nuk është një funksion. 284 00:14:20,680 --> 00:14:24,230 Kështu që tani për tani, vetëm të supozojmë se ne jemi duke përdorur kllapat në vende të ndryshme 285 00:14:24,230 --> 00:14:25,250 për arsye të ndryshme. 286 00:14:25,250 --> 00:14:29,310 >> Pra kaloni në shprehje do të thotë unë mund të vënë një brenda ndryshueshme të atyre 287 00:14:29,310 --> 00:14:31,350 kllapat ku ai thotë se shprehjes. 288 00:14:31,350 --> 00:14:33,090 Dhe në qoftë se pastaj të ndryshueshme - 289 00:14:33,090 --> 00:14:35,400 mendoj se është quajtur x, dhe kjo është vetëm një numër të plotë - 290 00:14:35,400 --> 00:14:38,900 Unë pastaj mund të numëroj në rrëshqitje tim këtu diçka si kjo. 291 00:14:38,900 --> 00:14:41,690 Nëse x është e ndryshueshme im, dhe unë doni të bëni diçka në qoftë se x 292 00:14:41,690 --> 00:14:43,480 është e barabartë me 1, unë mund ta bëjë këtë. 293 00:14:43,480 --> 00:14:46,660 >> Nëse në vend të kësaj unë dua të bëj diçka nëse x është 2, unë mund ta bëjë këtë. 294 00:14:46,660 --> 00:14:50,390 Tjetër, në qoftë se unë dua të bëj diçka tjetër në tërësi, unë mund të ketë një rast të parazgjedhur në 295 00:14:50,390 --> 00:14:52,750 cilin rast unë bëj këtë gjë tjera. 296 00:14:52,750 --> 00:14:58,730 Pra, në këtë kuptim, kjo është ekuivalente me një nëse x është e barabartë e barabartë me 1, tjetër, nëse tjetër, 297 00:14:58,730 --> 00:15:01,150 por unë përmend këtë tani vetëm për shkak se ne do të shohim atë përsëri. 298 00:15:01,150 --> 00:15:03,720 Por tani për tani, vetëm e di se ajo ekziston. 299 00:15:03,720 --> 00:15:04,220 >> Dakord. 300 00:15:04,220 --> 00:15:07,660 Pra, këto dy të fundit janë pak më kompleks në shikim të parë, por ata e bëjnë 301 00:15:07,660 --> 00:15:09,385 diçka mjaft i thjeshtë. 302 00:15:09,385 --> 00:15:14,410 Një per lak në C eshte nje copë i kodit që thjesht e bën diçka përsëri dhe 303 00:15:14,410 --> 00:15:15,330 përsëri dhe përsëri. 304 00:15:15,330 --> 00:15:17,590 Dhe e vetmja gjë e bezdisshëm për këtë është që është se kjo është pak fshehtë 305 00:15:17,590 --> 00:15:21,380 për të shprehur veten në këtë ciklike model, por bota standardizuar në 306 00:15:21,380 --> 00:15:22,450 Mënyra më poshtë. 307 00:15:22,450 --> 00:15:25,760 >> Kur ju përdorni një për lak, ju keni marrë një palë kllapa përsëri. 308 00:15:25,760 --> 00:15:27,570 Dhe vini re dy semicolons në atje. 309 00:15:27,570 --> 00:15:34,380 Këto dy semicolons të ndara në tre shprehje të ndryshme brenda e 310 00:15:34,380 --> 00:15:35,020 kllapat. 311 00:15:35,020 --> 00:15:37,170 Njëra është të ashtuquajturat initializations. 312 00:15:37,170 --> 00:15:38,830 Njëra është e ashtuquajtura kusht. 313 00:15:38,830 --> 00:15:40,210 Dhe një është e ashtuquajtura përditësimet. 314 00:15:40,210 --> 00:15:43,240 >> Shikoi në abstrakte, kjo është tërësisht jo-e qartë, kështu që le të shohim 315 00:15:43,240 --> 00:15:44,630 në një shembull konkret. 316 00:15:44,630 --> 00:15:46,720 Në Scratch kemi pasur një bllok të përsëritur. 317 00:15:46,720 --> 00:15:50,670 Dhe ky bllok tha përsëritur 10 herë, të themi "Hello, World". Më lejoni të pretendojnë për 318 00:15:50,670 --> 00:15:53,810 tani, dhe ne do të vijnë përsëri në këtë, dhe Kjo, gjithashtu, do të merrni më të njohur të 319 00:15:53,810 --> 00:15:57,345 ju para se të gjatë, C ekuivalent Kodi mund të thuhet të jetë kjo - 320 00:15:57,345 --> 00:16:02,320 nje per deklaratës dhe një hapësirë, një palë të kllapat, njoftim semicolons në 321 00:16:02,320 --> 00:16:05,730 atje, e cila ndajë tre të dallueshme gjërat, inicializimit, të 322 00:16:05,730 --> 00:16:07,320 kusht, dhe azhornimi. 323 00:16:07,320 --> 00:16:08,840 >> Dhe të marrë një guess what parë është bërë. 324 00:16:08,840 --> 00:16:10,690 Int i = 0. 325 00:16:10,690 --> 00:16:15,120 Në terma laik e përafërt, ajo që është se duke bërë për ne, ndoshta? 326 00:16:15,120 --> 00:16:15,590 Pra, vërtet. 327 00:16:15,590 --> 00:16:19,630 Është deklaruar një ndryshore të quajtur unë, dhe kjo është duke i dhënë asaj çfarë vlere? 328 00:16:19,630 --> 00:16:20,220 0. 329 00:16:20,220 --> 00:16:24,280 Pra, kjo është duke krijuar një ndryshore të quajtur Unë, ruajtjen 0 Vlera në të. 330 00:16:24,280 --> 00:16:26,420 Kjo është e ashtuquajtura initialization. 331 00:16:26,420 --> 00:16:29,360 >> Të gjithë të drejtë, tani unë pretendoi para se gjëja e mesme, unë 332 00:16:29,360 --> 00:16:31,760 <10, është kusht. 333 00:16:31,760 --> 00:16:32,730 Pra, çfarë po bën? 334 00:16:32,730 --> 00:16:36,560 E pra, çfarë bën kur lak për një program me një për lak është drejtuar, është 335 00:16:36,560 --> 00:16:41,050 çdo herë kompjuteri shkon përmes kjo loop, fund e krye, të lartë të 336 00:16:41,050 --> 00:16:43,740 fund, ashtu si ju djema bëri kur duke numëruar veten dhe duke u ulur poshtë, 337 00:16:43,740 --> 00:16:47,090 përsëri dhe përsëri dhe përsëri, kompjuteri është duke shkuar 338 00:16:47,090 --> 00:16:48,560 për të kontrolluar atë kusht. 339 00:16:48,560 --> 00:16:51,140 Dhe në qoftë se unë është më pak se 10, ajo do të bëjë atë përsëri. 340 00:16:51,140 --> 00:16:53,100 Nëse unë është më pak se 10, ajo do të bëjë atë përsëri. 341 00:16:53,100 --> 00:16:55,030 Nëse unë është më pak se dhjetë, ajo do të bëjë atë përsëri. 342 00:16:55,030 --> 00:16:57,330 Kështu që duket se sugjerojnë se shpresojmë se unë po ndryshon. 343 00:16:57,330 --> 00:16:59,010 Përndryshe, ne do të kemi një lak pafund. 344 00:16:59,010 --> 00:17:02,590 Dhe me të vërtetë, unë po ndryshon, sepse Gjëja e fundit pasi ka pikëpresje 345 00:17:02,590 --> 00:17:05,569 Sintaksa është paksa i mistershëm i + +. 346 00:17:05,569 --> 00:17:07,630 Por ato prej jush që e kam bërë këtë para, që vetëm do të thotë 347 00:17:07,630 --> 00:17:08,609 mjaft thjesht çfarë? 348 00:17:08,609 --> 00:17:09,730 >> STUDENTËT: [Mbivendosje Zërat]. 349 00:17:09,730 --> 00:17:10,740 >> DAVID Malan: 1 Shtoje tek unë. 350 00:17:10,740 --> 00:17:11,819 Zmadhimi i. 351 00:17:11,819 --> 00:17:13,910 Pra, ne pamë një mister zeroja copë për këtë, në të vërtetë. 352 00:17:13,910 --> 00:17:18,230 Ajo nuk duket si unë + +, por që vetëm do të thotë, thjesht, rritje 353 00:17:18,230 --> 00:17:24,040 I vlerësojmë nga 1 çdo herë që bëni këtë. 354 00:17:24,040 --> 00:17:26,910 Pra, fjalë për fjalë, ju filloni duke Initializing i në 0. 355 00:17:26,910 --> 00:17:29,520 Ju pastaj kontrolloni gjendjen tuaj. 356 00:17:29,520 --> 00:17:31,070 0 është më pak se 10? 357 00:17:31,070 --> 00:17:31,730 Po. 358 00:17:31,730 --> 00:17:32,910 Ne do të shkojmë përmes lak. 359 00:17:32,910 --> 00:17:35,150 >> Gjë tjetër unë pretendojnë kompjuterin e do të bëni është ajo që po ndodh 360 00:17:35,150 --> 00:17:35,910 në rritje i. 361 00:17:35,910 --> 00:17:37,080 Kështu që unë tani është 1. 362 00:17:37,080 --> 00:17:37,940 Ajo kontrollon gjendjen. 363 00:17:37,940 --> 00:17:39,290 Është 1 më pak se 10? 364 00:17:39,290 --> 00:17:39,930 Natyrisht. 365 00:17:39,930 --> 00:17:41,030 Pra, e bën atë përsëri. 366 00:17:41,030 --> 00:17:43,580 Atëherë ajo increments i + + me 2. 367 00:17:43,580 --> 00:17:44,610 Është 2 më pak se 10? 368 00:17:44,610 --> 00:17:45,230 Po. 369 00:17:45,230 --> 00:17:46,670 Dhe përsëri dhe përsëri dhe përsëri. 370 00:17:46,670 --> 00:17:50,070 Dhe përfundimisht, për shkak të plus-plussing, ne kemi marrë për i barabartë me 10. 371 00:17:50,070 --> 00:17:51,675 10 është më pak se 10? 372 00:17:51,675 --> 00:17:52,990 E pra, nuk është e qartë. 373 00:17:52,990 --> 00:17:55,320 Dhe kjo është pika në të cilën për lak vetëm ndalesa. 374 00:17:55,320 --> 00:17:58,320 Dhe në qoftë se ju keni kodin më shumë në Ekran poshtë më poshtë, kompjuter 375 00:17:58,320 --> 00:18:01,620 ardhurat për të drejtuar këtë kod në vend. 376 00:18:01,620 --> 00:18:05,380 >> Pra, përsëri, edhe pse kjo do të shikoni dhe të ndjehen pak e çuditshme në 377 00:18:05,380 --> 00:18:07,830 së pari, sigurisht për ato prej jush që kurrë nuk kanë programuar më parë, ajo 378 00:18:07,830 --> 00:18:11,640 fjalë për fjalë redukton konceptualisht për çfarë është përndryshe një shumë të 379 00:18:11,640 --> 00:18:14,330 mister i thjeshtë pjesë në Scratch. 380 00:18:14,330 --> 00:18:19,130 >> Të gjithë të drejtë, kam premtuar se nuk do të të jetë analoge tjera në Scratch. 381 00:18:19,130 --> 00:18:20,060 Nuk është kjo një shumë. 382 00:18:20,060 --> 00:18:21,700 Dhe ne pamë këtë kohë shkurtimisht fundit. 383 00:18:21,700 --> 00:18:23,530 Por mbani mend përgjithmonë bllokuar në Scratch? 384 00:18:23,530 --> 00:18:25,490 Ajo thjesht bën diçka përgjithmonë? 385 00:18:25,490 --> 00:18:27,470 Unë pretendonte se ju mund të zbatojë këtë në këtë mënyrë. 386 00:18:27,470 --> 00:18:29,740 Dhe ju në fakt mund të zbatojë këtë në një bandë e mënyra të ndryshme. 387 00:18:29,740 --> 00:18:34,260 >> Por, ndërsa loop është vetëm një tjetër Mënyra në C për të shprehur veten. 388 00:18:34,260 --> 00:18:37,080 Në fund të ditës, ju nuk mund të bëjë çdo gjë me një lak, ndërsa që ju 389 00:18:37,080 --> 00:18:38,360 nuk mund me një për lak. 390 00:18:38,360 --> 00:18:41,430 Pra, ata janë në fund të ditë funksionalisht njëjtë. 391 00:18:41,430 --> 00:18:43,840 Por, kjo ju mundëson për të shprehur veten pak ndryshe në 392 00:18:43,840 --> 00:18:44,850 Mënyra më poshtë. 393 00:18:44,850 --> 00:18:49,720 >> Me lak ndërsa, kjo është ajo që është në kllapat që është kontrolluar përsëri dhe 394 00:18:49,720 --> 00:18:51,050 përsëri dhe përsëri. 395 00:18:51,050 --> 00:18:55,100 Dhe sa më shpejt që shprehja është e rreme, atëherë loop ndalon ekzekutimin, 396 00:18:55,100 --> 00:18:57,890 dhe kompjuteri vazhdon te Kodi drejtuar çfarëdo tjetër që ju 397 00:18:57,890 --> 00:18:59,230 keni në dosjen tuaj. 398 00:18:59,230 --> 00:19:02,180 >> Por ajo që është interesante këtu është që unë typed fjalë për fjalë e vërtetë. 399 00:19:02,180 --> 00:19:06,680 Dhe vërtetë është një lloj i vlerës Boolean, një vlerë e vërtetë apo e rreme. 400 00:19:06,680 --> 00:19:09,750 Pra, mund të bëhet e vërtetë kurrë rreme, nëse unë kam fjalë për fjalë 401 00:19:09,750 --> 00:19:11,970 vështirë-koduar atë në programin tim? 402 00:19:11,970 --> 00:19:12,470 Pra, nr. 403 00:19:12,470 --> 00:19:13,730 Është pak e çuditshme që unë e bëri këtë. 404 00:19:13,730 --> 00:19:15,190 Por e vërtetë është e vërtetë. 405 00:19:15,190 --> 00:19:16,320 Nuk ka asnjë plus-plussing. 406 00:19:16,320 --> 00:19:17,820 Nuk ka përdorimi i variablave në këtu. 407 00:19:17,820 --> 00:19:22,740 Pra, sepse unë e vështirë-koduar, ndërsa e vërtetë, kjo loop është gjithmonë do të vlerësojë 408 00:19:22,740 --> 00:19:24,090 përsëri dhe përsëri dhe përsëri. 409 00:19:24,090 --> 00:19:27,660 >> Pra, sa herë është botë Hello do të shtypura në ekran? 410 00:19:27,660 --> 00:19:28,170 Gjithmone. 411 00:19:28,170 --> 00:19:31,980 Një numër i pafund i herë deri Vdes bateri ose disa të tjerë të jashtëm 412 00:19:31,980 --> 00:19:32,730 Ngjarja ndodh. 413 00:19:32,730 --> 00:19:35,880 Pra, kjo nuk është ndoshta programi më të mirë për të shkruar, sepse në qoftë se përdoruesi 414 00:19:35,880 --> 00:19:38,660 kurrë nuk mund të lë programin tuaj, kjo është ndoshta jo atë që ju qëllim. 415 00:19:38,660 --> 00:19:41,070 >> Por ndonjëherë, programet duhet të kanë një lak pafund. 416 00:19:41,070 --> 00:19:44,050 Për shembull, në qoftë se kompjuteri juaj ka një ora në të, ajo me siguri do të jetë 417 00:19:44,050 --> 00:19:48,130 mirë nëse ora juaj ai nuk mbani përditësimin Vetë përgjithmonë, megjithëse një herë në 418 00:19:48,130 --> 00:19:50,500 dytë ose një herë në minutë ose diçka të tillë. 419 00:19:50,500 --> 00:19:53,690 Pra, edhe sythe pafund kanë vendin e tyre. 420 00:19:53,690 --> 00:19:54,360 >> Dakord. 421 00:19:54,360 --> 00:19:55,190 Së fundi, kjo. 422 00:19:55,190 --> 00:19:57,770 Dhe kjo është një pak të ndryshme funksionalisht, dhe ne do të kthehen në 423 00:19:57,770 --> 00:19:59,460 kjo ndoshta në Pset 1. 424 00:19:59,460 --> 00:20:02,370 Por ka një tjetër lloj i lak quhet bëni ndërsa lak. 425 00:20:02,370 --> 00:20:07,100 Dhe dallimi i vetëm këtu në mes të një bërë, ndërsa loop dhe, të themi, një lak, ndërsa, 426 00:20:07,100 --> 00:20:11,120 është se gjendja është i kontrolluar nuk para se të ekzekutojë kodin, por pas 427 00:20:11,120 --> 00:20:12,080 ju ekzekutojë kodin. 428 00:20:12,080 --> 00:20:15,380 Pra, në krye për kohë loop, ndërsa bëni ndërsa 429 00:20:15,380 --> 00:20:16,560 kontrollon atë në fund. 430 00:20:16,560 --> 00:20:21,370 >> Dhe kjo thjesht do të thotë se ndërsa loop zakonisht do të ekzekutojë herë më shumë 431 00:20:21,370 --> 00:20:24,630 ose herë më pak se një lak, ndërsa? 432 00:20:24,630 --> 00:20:30,810 Potencialisht herë më shumë, për shkak se një të bëjë ndërsa loop është i qartë duke thënë se bëni këtë, 433 00:20:30,810 --> 00:20:34,600 vetëm pasi që ju kontrolloni pikë në qoftë se brenda gjendja e 434 00:20:34,600 --> 00:20:35,980 kllapat është e vërtetë. 435 00:20:35,980 --> 00:20:37,940 >> Pra, ne do të shohim këtë përsëri ndoshta në Pset 1. 436 00:20:37,940 --> 00:20:41,150 Nëse ju ndonjëherë të dëshironi të bëni diçka në paktën një herë dhe pastaj ndoshta disa më shumë 437 00:20:41,150 --> 00:20:43,350 herë, kjo është një e mirë ndërtuar për t'u përdorur. 438 00:20:43,350 --> 00:20:46,970 Por një lak, ndërsa, nga ana tjetër, do kontrolloni gjendjen e saj të parë. 439 00:20:46,970 --> 00:20:50,660 Dhe kjo është ajo për sythe në C, nuk ndërsa, ndërkohë, dhe për sythe. 440 00:20:50,660 --> 00:20:54,700 Dhe përsëri, ata hartë goxha bukur mbrapa për Scratch, përveç kjo nuk 441 00:20:54,700 --> 00:20:57,350 kanë mjaft analog njëjtë në Scratch. 442 00:20:57,350 --> 00:20:58,880 >> E pra, si në lidhje me, tani, variabla? 443 00:20:58,880 --> 00:21:02,600 Pra, kjo është se si kam deklaruar një ndryshore sintaksore ditë të tjera. 444 00:21:02,600 --> 00:21:06,440 Kam pasur një int, të cilën unë pretendonte eshte nje numer i plote. 445 00:21:06,440 --> 00:21:09,690 Unë pastaj kishte një counter ndryshueshme quajtur, dhe pastaj një pikëpresje. 446 00:21:09,690 --> 00:21:11,070 Pra, çfarë është kjo linjë e kodit duke bërë? 447 00:21:11,070 --> 00:21:14,540 Kjo është, thjesht, duke deklaruar një variabël - 448 00:21:14,540 --> 00:21:17,940 që është, duke i kërkuar kompjuterin, jepni disa kujtesës, më jepni disa copa - në 449 00:21:17,940 --> 00:21:19,450 të cilën unë mund të ruajë çfarë? 450 00:21:19,450 --> 00:21:20,300 Një int. 451 00:21:20,300 --> 00:21:23,570 Dhe pikëpresje thjesht do të thotë fundi i vijës së kodit. 452 00:21:23,570 --> 00:21:25,500 >> Tani, linja e dytë është ndoshta goxha guessable. 453 00:21:25,500 --> 00:21:29,710 Çfarë është counter = 0; duke bërë? 454 00:21:29,710 --> 00:21:31,690 Është caktimin 0 t'iu kundërvënë. 455 00:21:31,690 --> 00:21:33,470 Dhe kështu kjo është gjë tjetër kjo është pak i bezdisshëm 456 00:21:33,470 --> 00:21:34,540 kundrejt, thonë, algjebër. 457 00:21:34,540 --> 00:21:39,110 Ndërsa në algjebër, shenjë të barabartë do të thotë barabartë, këtu në C, të barabartë 458 00:21:39,110 --> 00:21:40,470 shenjë të thotë detyrë. 459 00:21:40,470 --> 00:21:45,380 Pra, kjo do të thotë të vënë atë që është në të drejtën në atë që është në të majtë. 460 00:21:45,380 --> 00:21:49,030 Dhe ne do të shohim një tjetër simbol, është e barabartë me barabartë, kur ne duam që në fakt të provuar 461 00:21:49,030 --> 00:21:50,570 për, të cilësisë disi annoyingly. 462 00:21:50,570 --> 00:21:52,590 >> Por kjo është pak i paefektshëm. 463 00:21:52,590 --> 00:21:55,090 Kjo është lloj i bezdisshëm që kam të deklarojë një ndryshore dhe të 464 00:21:55,090 --> 00:21:56,110 pastaj të jepte një vlerë. 465 00:21:56,110 --> 00:21:59,380 Pra, në fakt C ju lejon të na lehtësuar këtë dhe vetëm të bëjë atë të gjitha përnjëherë. 466 00:21:59,380 --> 00:22:01,330 Ju mund të deklarojë ndryshueshme nga e majta. 467 00:22:01,330 --> 00:22:04,590 Ju mund të bëni ende detyrën në drejtë duke vënë atë shenjë të barabartë në 468 00:22:04,590 --> 00:22:05,030 mesme. 469 00:22:05,030 --> 00:22:08,740 Pra, në fund të ditës, këto dy janë ekuivalente, por kjo një, sinqerisht, 470 00:22:08,740 --> 00:22:11,840 ndoshta është zakon i mirë për të marrë në vetëm për shkak se ajo është një pak më pak 471 00:22:11,840 --> 00:22:15,040 Kodi, kjo është pak më e lehtë për të lexuar, dhe vetëm ajo forcon deri 472 00:22:15,040 --> 00:22:17,470 Kodi juaj, kështu që të flasin. 473 00:22:17,470 --> 00:22:22,120 >> Ndonjë pyetje deri më tani në sythet, mbi variablat, të kushteve, në 474 00:22:22,120 --> 00:22:27,001 Booleans, ose teknikisht apo konceptualisht? 475 00:22:27,001 --> 00:22:28,010 Dakord. 476 00:22:28,010 --> 00:22:30,690 Deri tani ky tjetri merr një pak më shumë interesante. 477 00:22:30,690 --> 00:22:34,790 Dhe ky është shembulli kam vënë dalë i fundit kohë që vetëm një shembull harta zeroja 478 00:22:34,790 --> 00:22:35,820 mbi të C. 479 00:22:35,820 --> 00:22:36,580 >> Pra, një funksion. 480 00:22:36,580 --> 00:22:38,110 Në terma laik, çfarë është një funksion? 481 00:22:38,110 --> 00:22:42,900 482 00:22:42,900 --> 00:22:44,350 Got të jetë e guximshme me përgjigjen tuaj. 483 00:22:44,350 --> 00:22:45,020 Çfarë është një funksion? 484 00:22:45,020 --> 00:22:46,320 >> STUDENT: A ka diçka. 485 00:22:46,320 --> 00:22:46,780 >> DAVID Malan: Çfarë është ajo? 486 00:22:46,780 --> 00:22:48,000 >> STUDENT: A ka diçka. 487 00:22:48,000 --> 00:22:48,710 >> DAVID Malan: A ka diçka. 488 00:22:48,710 --> 00:22:49,000 OK. 489 00:22:49,000 --> 00:22:49,590 Ne do të fillojë atje. 490 00:22:49,590 --> 00:22:51,270 Pra, një funksion bën diçka. 491 00:22:51,270 --> 00:22:55,160 Pra, kjo është një pjesë e kodit që është implementohen kryesisht diku tjetër që 492 00:22:55,160 --> 00:22:56,620 me të vërtetë e bën diçka. 493 00:22:56,620 --> 00:23:00,180 Tani, çfarë është interesante në lidhje me një funksion është se ajo mund të marrë të dhëna, 494 00:23:00,180 --> 00:23:02,710 dhe ajo mund të prodhojë dalje. 495 00:23:02,710 --> 00:23:05,090 Dhe le të vërtetë të marrë një vështrim në këtë. 496 00:23:05,090 --> 00:23:09,030 >> Pra, njeriu prapa perdes ishte e qëllimshme një moment më parë. 497 00:23:09,030 --> 00:23:10,320 Këtu kemi një tryezë. 498 00:23:10,320 --> 00:23:13,010 Por mendoj se ky fakt përfaqëson një kuti të madhe. 499 00:23:13,010 --> 00:23:14,940 Pra, kjo është një e ashtuquajtura kuti e zezë. 500 00:23:14,940 --> 00:23:19,800 Dhe në përgjithësi, në projektimin, në kompjuter shkenca, kuti e zezë i referohet vetëm 501 00:23:19,800 --> 00:23:22,510 copa e funksionalitetit që dikush ka zbatuar, dhe ju nuk e bëni 502 00:23:22,510 --> 00:23:26,140 domosdoshmërisht dini ose kujdesen se si kjo është zbatuar nën kapuç. 503 00:23:26,140 --> 00:23:28,960 Ju vetëm intereson që kjo kuti e zezë, të cilat ne tani do të fillojnë duke e quajtur një 504 00:23:28,960 --> 00:23:30,730 funksion, bën diçka. 505 00:23:30,730 --> 00:23:34,710 >> Kështu, për shembull, në qoftë se kjo kuti e zezë në Faza këtu përfaqëson printf, një 506 00:23:34,710 --> 00:23:38,040 funksion, unë e di nga shembujt e mëparshme se printf merr një ose më shumë 507 00:23:38,040 --> 00:23:40,910 argumente, dhe i pari i atyre Argumentet duhet të jetë një string, si 508 00:23:40,910 --> 00:23:44,780 "Hello, World". E pra, në qoftë se unë jam personi shkruar programin, dhe unë dua 509 00:23:44,780 --> 00:23:50,460 për të përdorur printf, unë, për shembull, mund të marrë një copë letër të bardhë këtu dhe një 510 00:23:50,460 --> 00:23:55,060 shënues i zi dhe shkruaj mbi të - 511 00:23:55,060 --> 00:23:56,580 Unë misspelled "botën" - 512 00:23:56,580 --> 00:23:59,560 H-E-L-L-O. 513 00:23:59,560 --> 00:24:04,220 >> Kështu që unë do të marrë shënues tim të zi dhe unë do të shkruajnë, si i madh dhe lexueshëm si unë mund të në 514 00:24:04,220 --> 00:24:07,260 kjo copë letër, "Hello, World," Dhe tani unë pretendojnë se kjo është argumenti im. 515 00:24:07,260 --> 00:24:09,740 Ky është një varg përfaqësohet me një copë letër të bardhë. 516 00:24:09,740 --> 00:24:13,030 Dhe input im tani për funksionin e printf do të jetë kjo. 517 00:24:13,030 --> 00:24:18,250 Kështu që unë jam duke bërë thirrje printf, duke kaluar Argumenti se si input ndaj saj. 518 00:24:18,250 --> 00:24:22,110 519 00:24:22,110 --> 00:24:26,740 >> Dhe tani, unë nuk e di se si personi i cili shkroi printf bëri atë vjet më parë, por 520 00:24:26,740 --> 00:24:31,110 Unë e di se nga dokumentacioni saj se qëllimi i tij në jetë është për të shtypur atë që unë 521 00:24:31,110 --> 00:24:34,410 ofrojnë atë si input. 522 00:24:34,410 --> 00:24:40,630 Dhe kështu, edhe pse kjo implementimi është unbeknownst për mua 523 00:24:40,630 --> 00:24:44,170 nën kapuç, tani Unë po të shoh, oh, kjo është bërë. 524 00:24:44,170 --> 00:24:45,740 Ajo ka shtypur diçka në ekran. 525 00:24:45,740 --> 00:24:49,070 Dhe tani kontrollin e programit, në qoftë se ka ishin më shumë linja të kodit, do të 526 00:24:49,070 --> 00:24:51,070 janë kthyer tani tek unë. 527 00:24:51,070 --> 00:24:52,290 Dhe kështu fakti që Colton - 528 00:24:52,290 --> 00:24:55,370 bekoni zemrën e tij, është e fshehur këtu nën një tavolinë në frontin e të gjithë ju - 529 00:24:55,370 --> 00:24:59,530 është i qëllimshëm në se unë nuk e di dhe unë nuk e kujdesit se sa printf është 530 00:24:59,530 --> 00:25:00,100 zbatuar. 531 00:25:00,100 --> 00:25:03,390 Unë vetëm e di se, përsëri, nga e saj Dokumentacioni, atë që bën dhe si unë 532 00:25:03,390 --> 00:25:05,040 jam duke menduar për të përdorin atë. 533 00:25:05,040 --> 00:25:09,140 >> Tani, kujtoj se printf mund të merrni pak më të sofistikuar. 534 00:25:09,140 --> 00:25:12,220 Përsëri, ne jemi vetëm duke folur rreth ekuivalent i bllokut zeroja thonë. 535 00:25:12,220 --> 00:25:14,230 Por unë gjithashtu e bëri këtë për herë të fundit. 536 00:25:14,230 --> 00:25:17,270 Kam kërkuar për të bërë programin tim një përshëndetje pak më dinamike dhe jo vetëm e vështirë 537 00:25:17,270 --> 00:25:19,740 Kodi diçka si "botë", dhe definitivisht nuk është diçka e vështirë kodi 538 00:25:19,740 --> 00:25:22,520 arbitrare si D-A-V-I-D në program. 539 00:25:22,520 --> 00:25:27,510 Doja të kërkojë nga shfrytëzuesi për tij apo saj emri, dhe pastaj të bëjë diçka me 540 00:25:27,510 --> 00:25:29,720 se string që ato ofrojnë. 541 00:25:29,720 --> 00:25:32,690 >> Pra, ka diçka pak më ndryshe këtu. printf, një moment më parë, 542 00:25:32,690 --> 00:25:35,860 ka, me të vërtetë, të bëjë diçka, por ajo nuk kthehen asgjë për mua. 543 00:25:35,860 --> 00:25:36,020 E drejta? 544 00:25:36,020 --> 00:25:38,910 Colton nuk dorëzojnë mua asgjë mbrapa, asnjë copë letër. 545 00:25:38,910 --> 00:25:40,320 Nuk ishte vetëm një efekt anësor. 546 00:25:40,320 --> 00:25:44,510 Sigurimin ime "Hello, World" si një Argumenti për Colton rezultuar në 547 00:25:44,510 --> 00:25:48,420 efekt anësor i një fjalë, disa fjalë, shfaqeshin në ekran. 548 00:25:48,420 --> 00:25:51,350 >> getString, edhe pse, është pak ndryshme. getString është gjithashtu një 549 00:25:51,350 --> 00:25:54,590 funksionojë, por ajo kthehet disa vlera. 550 00:25:54,590 --> 00:25:56,370 Ajo nuk ka vetëm të ketë një Efekti anësor estetike. 551 00:25:56,370 --> 00:26:00,230 Ajo në fakt jep mua, personi telefonuar ose duke përdorur funksionin, 552 00:26:00,230 --> 00:26:01,320 diçka mbrapa. 553 00:26:01,320 --> 00:26:05,740 Pra, në këtë rast, është getString quajtur me getString hapur 554 00:26:05,740 --> 00:26:07,510 Paren, Paren afër. 555 00:26:07,510 --> 00:26:11,370 A getString, pra, të marrë ndonjë argument apo input? 556 00:26:11,370 --> 00:26:12,340 Jo, ajo nuk duket. 557 00:26:12,340 --> 00:26:14,460 Qëllimi i tij në jetë është vetëm për të marrë një varg. 558 00:26:14,460 --> 00:26:16,910 Ajo ka nevojë për asnjë detaj më shumë se kaq. 559 00:26:16,910 --> 00:26:20,430 Pra më lejoni të shkoj përpara dhe të pretendojë se, përsëri, kjo kuti e zezë nuk është printf, 560 00:26:20,430 --> 00:26:25,160 por getString, dhe le mua, personi shkruar këtë program, telefononi ose përdorni 561 00:26:25,160 --> 00:26:29,720 getString vetëm me shkrim G-E-T-S-T-R-I-N-G, hapur Paren, afër 562 00:26:29,720 --> 00:26:32,170 Paren, getString. 563 00:26:32,170 --> 00:26:36,920 >> Tani, unë nuk kam asnjë ide se si CS50 stafi zbatuar getString, por unë e di se 564 00:26:36,920 --> 00:26:41,240 në qoftë se unë pres mjaft të gjatë, ajo do të bëjë SAJ Gjëja nën kapuç, ndoshta duke përdorur 565 00:26:41,240 --> 00:26:44,940 disa variabla, ndoshta duke përdorur disa kushte, ndoshta duke përdorur disa sythe, 566 00:26:44,940 --> 00:26:48,170 ndoshta duke përdorur disa funksione, ndoshta duke përdorur - 567 00:26:48,170 --> 00:26:52,290 vetëm duke u përpjekur për të ngadalësuar - ndoshta duke përdorur disa karakteristika të tjera të programimit. 568 00:26:52,290 --> 00:26:55,350 Por në qoftë se unë pres kohë të mjaftueshme - në realitet, në kompjuter, kjo ndodh 569 00:26:55,350 --> 00:26:56,270 super të shpejtë - 570 00:26:56,270 --> 00:26:59,910 në qoftë se unë pres kohë të mjaftueshme, ky funksion getString është duke shkuar për të marrë një varg 571 00:26:59,910 --> 00:27:04,060 nga përdoruesi, i cili me sa duket është shkruajtja ajo jashtë në tastierë e tyre, dhe 572 00:27:04,060 --> 00:27:08,090 atëherë, kur ju getString është bërë duke ato karaktere nga përdoruesit 573 00:27:08,090 --> 00:27:14,080 dhe ruajtjen e tyre në një varg, që funksion, getString, do të ketë 574 00:27:14,080 --> 00:27:17,990 gati për mua disa dalje të cilën unë jam duke shkuar për të tërhequr nga rruga e 575 00:27:17,990 --> 00:27:19,470 Operatori detyrë. 576 00:27:19,470 --> 00:27:25,390 >> Dhe nëse unë shkoj, në të vërtetë, në dalje këtu, Obosi ka bujarisht 577 00:27:25,390 --> 00:27:29,900 marrë pjesë, pa e ditur këtë në avancojë, duke shkruar emrin e tij mbi këtë 578 00:27:29,900 --> 00:27:33,100 e ndryshueshme, e cila është duke përfaqësuar një varg. 579 00:27:33,100 --> 00:27:35,640 Tani, operatori detyrë do të thotë, edhe edhe pse kjo mund të ndjehen pak 580 00:27:35,640 --> 00:27:38,790 të tepërta, unë në fakt kanë nevojë për për të bërë kopje e mia vet të kësaj. 581 00:27:38,790 --> 00:27:40,700 Për shkak se në anën e majtë Ana - uh! - 582 00:27:40,700 --> 00:27:45,760 vëreni se unë thelb kanë string përmendur në anën e majtë. 583 00:27:45,760 --> 00:27:48,280 Kështu që unë jam gjithashtu do të bëjë Kopja e mi për këtë. 584 00:27:48,280 --> 00:27:50,990 Dhe kjo është pak e një gënjeshtër të bardhë, sepse ne do të shohim në një javë ose dy të 585 00:27:50,990 --> 00:27:54,100 koha që vargjet nuk janë në të vërtetë çfarë ato duken të jenë. 586 00:27:54,100 --> 00:27:56,700 >> Por tani për tani, këtu është vlera e kthimit. 587 00:27:56,700 --> 00:28:00,160 Këtu është kopja ime personale e saj pas duke përdorur operatorin detyrë. 588 00:28:00,160 --> 00:28:01,790 Dhe tani, çfarë unë dua të bëj tjetër? 589 00:28:01,790 --> 00:28:04,080 Ne tani e kemi të dytë nga dy rreshta të kodit. 590 00:28:04,080 --> 00:28:05,640 Kështu që unë tani duan të thërrasë printf. 591 00:28:05,640 --> 00:28:08,500 Le të pretendojë tani që e zezë Kutia është kthyer përsëri për të qenë 592 00:28:08,500 --> 00:28:10,210 printf dhe jo getString. 593 00:28:10,210 --> 00:28:12,200 >> Printf këtë herë do të marrë sa argumente? 594 00:28:12,200 --> 00:28:14,890 595 00:28:14,890 --> 00:28:16,770 Pra shikoni, kjo është si dy. 596 00:28:16,770 --> 00:28:18,860 Ka dy presje në atje, por një nga ato presje, kjo është 597 00:28:18,860 --> 00:28:20,220 brendësi të kuotat. 598 00:28:20,220 --> 00:28:23,190 Pra, argumenti i parë është fjalë për fjalë do të jetë kjo. 599 00:28:23,190 --> 00:28:31,850 H-E-L-L-O,, presja përqind S, backslash-n. 600 00:28:31,850 --> 00:28:36,560 Dhe tani unë jam i siguruar jo argumentin një, por dy argumentet printf. 601 00:28:36,560 --> 00:28:39,530 >> Dhe çfarë është menduar printf të bëjë me këto dy inpute, pasi kam kaluar ato në 602 00:28:39,530 --> 00:28:42,050 si argumente? 603 00:28:42,050 --> 00:28:45,360 Ajo është menduar për të marrë e dytë e atyre, të cilën unë e quajti, kështu që 604 00:28:45,360 --> 00:28:48,660 pjesë të dytë të letrës kam shkruar jashtë një moment më parë është quajtur emrin. 605 00:28:48,660 --> 00:28:53,550 Ajo do të plug të vlerës brenda e asaj variabël në placeholder, 606 00:28:53,550 --> 00:28:58,310 % S, në mënyrë që, përsëri, vetëm në një moment të kohë, ne do të shohim një efekt anësor i 607 00:28:58,310 --> 00:29:04,180 thirri printf, ku tani ne nuk shohin "Hello, World," por "hello, 608 00:29:04,180 --> 00:29:04,710 Obosi. " 609 00:29:04,710 --> 00:29:08,730 >> Pra, një raund i duartrokitje e madhe për të dyja Vullnetarët tanë, vetëm njëri prej të cilëve e dinte 610 00:29:08,730 --> 00:29:12,010 kjo do të ndodh. 611 00:29:12,010 --> 00:29:12,990 Dakord. 612 00:29:12,990 --> 00:29:16,480 Pra, ndoshta, thjeshtë si ajo ishte, sigurisht, nëse ju jeni tashmë të njohur 613 00:29:16,480 --> 00:29:20,190 Me të tilla, shpresojmë se ju kurrë nuk do të harrojmë se sa i veçantë vizual 614 00:29:20,190 --> 00:29:21,220 Funksionet punojnë. 615 00:29:21,220 --> 00:29:23,000 >> Pra, nuk ka më shumë se vetëm getString. 616 00:29:23,000 --> 00:29:26,020 Brenda bibliotekës CS50, ka një bandë e tërë e funksioneve, të cilat 617 00:29:26,020 --> 00:29:29,510 kapitalizohen vetëm për të bërë të qartë se ne shkroi këto funksione. 618 00:29:29,510 --> 00:29:33,610 Në mënyrë tipike, në C, pothuajse çdo tjetër Funksioni që ju do të përdorni është Fjala. 619 00:29:33,610 --> 00:29:36,190 Por ne qëllimisht përdorni shkronja kapitale vetëm për të bërë të qartë se këto 620 00:29:36,190 --> 00:29:39,880 janë rrota trajnimit në terezi se ne do përdorin për vetëm disa javë që 621 00:29:39,880 --> 00:29:42,890 thjeshtojë procesin e gjetjes së input nga përdoruesi. 622 00:29:42,890 --> 00:29:46,740 >> Biblioteka CS50 nuk ka të bëjë asgjë se edhe ju nuk mund të bëjë nga 623 00:29:46,740 --> 00:29:50,230 vetëm duke përdorur kodin e C, nga një teksteve oldschool. 624 00:29:50,230 --> 00:29:53,310 Por, përsëri, ne i përdorim ato si trajnim rrotat e llojet vetëm për një çift të 625 00:29:53,310 --> 00:29:57,250 javë në mënyrë që ne mund të shpëtoj prej Kompleksiteti që ju së shpejti do të kuptojnë 626 00:29:57,250 --> 00:30:00,460 veten për të bërë diçka si relativisht i thjeshtë si marrjen e 627 00:30:00,460 --> 00:30:02,080 input nga një përdorues. 628 00:30:02,080 --> 00:30:05,540 >> Pra, e di se ju do të keni akses për GetChar, GetDouble - 629 00:30:05,540 --> 00:30:06,050 dyfishohet. 630 00:30:06,050 --> 00:30:07,050 What's - dhe pastaj GetFloat. 631 00:30:07,050 --> 00:30:07,600 Çfarë është një noton? 632 00:30:07,600 --> 00:30:09,382 Le të fillojë atje. 633 00:30:09,382 --> 00:30:10,600 >> STUDENT: [padëgjueshme]. 634 00:30:10,600 --> 00:30:10,790 >> DAVID Malan: Po. 635 00:30:10,790 --> 00:30:12,120 Kjo është një numër me një pikë dhjetore. 636 00:30:12,120 --> 00:30:15,930 Kështu ndërsa një int është një numër i plotë, e cila është vetëm një numër me 0 deri 9, 637 00:30:15,930 --> 00:30:18,940 disa numri i repetitions tyre, një noton është diçka 638 00:30:18,940 --> 00:30:20,100 me një pikë dhjetore. 639 00:30:20,100 --> 00:30:26,090 Dhe një të dyfishtë, ndërkohë, është gjithashtu një Numri me një presjes dhjetore, por më shumë 640 00:30:26,090 --> 00:30:28,160 numra pas presjes dhjetore, pikë, potencialisht. 641 00:30:28,160 --> 00:30:30,040 >> Pra, ne do të kthehemi tek kjo para se të gjatë. 642 00:30:30,040 --> 00:30:34,560 Por zakonisht, secila prej këtyre llojeve të dhënave, secila prej këtyre llojeve të variablave 643 00:30:34,560 --> 00:30:39,380 se një bibliotekë si e jona mund të kthehen në ju, përdorin numrat e ndryshme të bit për 644 00:30:39,380 --> 00:30:40,290 ruajtur informacione. 645 00:30:40,290 --> 00:30:43,910 Në mënyrë tipike, një Char, i cili vetëm do të thotë një karakter, përdor 8 bit. 646 00:30:43,910 --> 00:30:47,490 Dhe kjo është në fakt në përputhje me tonë bajt i vullnetarëve të cilët javën e kaluar 647 00:30:47,490 --> 00:30:50,410 erdhi dhe përfaqësonte një Karakteri ASCII në një kohë. 648 00:30:50,410 --> 00:30:51,850 Pra, një Char është 8 bits. 649 00:30:51,850 --> 00:30:54,430 >> Një noton ndodh të jetë 32 bit, në mënyrë tipike. 650 00:30:54,430 --> 00:30:59,230 Dhe një të dyfishtë, si ju mund të me mend, është në fakt 64 bit, e cila është vetëm më shumë, 651 00:30:59,230 --> 00:31:01,360 që do të thotë që ju mund të keni më të mëdha Numrat apo më shumë saktësi. 652 00:31:01,360 --> 00:31:03,000 Por përsëri, më shumë se një tjetër kohë. 653 00:31:03,000 --> 00:31:06,550 GetLongLong, ndërkohë, edhe pse stupidly emrin, është me të vërtetë vetëm një 654 00:31:06,550 --> 00:31:10,770 numër i plotë që është dy herë më i madh, dy herë më gjatë, potencialisht, si një rregullt 655 00:31:10,770 --> 00:31:12,940 integer, 64 bit në vend të 32. 656 00:31:12,940 --> 00:31:14,560 Dhe getString ne kemi qenë duke përdorur. 657 00:31:14,560 --> 00:31:18,870 >> Por kjo rezulton, në bibliotekë CS50, e cila është zbatuar, siç do të shohim, në 658 00:31:18,870 --> 00:31:23,560 Forma e dy dosjeve, njëra prej të cilave quhet cs50.h, ka dy të tjerë 659 00:31:23,560 --> 00:31:24,770 lloje të të dhënave në të. 660 00:31:24,770 --> 00:31:29,700 Booleans nuk ekzistojnë në C. Ju mund të simulojë ato duke përdorur vetëm 0s dhe 1s 661 00:31:29,700 --> 00:31:30,850 të gjithë programet tuaja. 662 00:31:30,850 --> 00:31:35,500 Por ne në bibliotekë CS50 kanë krijuar simbolet "e vërtetë" dhe "false" 663 00:31:35,500 --> 00:31:38,580 për të përfaqësuar 1 dhe 0 kështu që ju nuk e bëni kanë për diçka të vështirë kodit 664 00:31:38,580 --> 00:31:39,810 fjalë për fjalë si 1 dhe 0. 665 00:31:39,810 --> 00:31:40,980 Por ne do të shohim ato përsëri. 666 00:31:40,980 --> 00:31:42,330 >> String, gjithashtu, nuk ekziston. 667 00:31:42,330 --> 00:31:44,520 Dhe kjo është arsyeja pse kam përmendur është pak e një gënjeshtër e bardhë tani për tani. 668 00:31:44,520 --> 00:31:46,660 Por ne do të zhvishem mbrapa se Shtresa para se të gjatë. 669 00:31:46,660 --> 00:31:49,540 Por tani për tani, një varg është një Sekuenca e karaktereve. 670 00:31:49,540 --> 00:31:51,790 >> Ndërkohë, në C, ju me të vërtetë kemi lloje të ndryshme të të dhënave. 671 00:31:51,790 --> 00:31:53,200 Vini re këto janë të vogla. 672 00:31:53,200 --> 00:31:56,960 Pra, funksionet që ju panë një moment më parë Funksionet janë shkruar nga CS50 atë 673 00:31:56,960 --> 00:32:02,310 do të kthehet tek ju një vlerë që bie në një nga këto kategori. 674 00:32:02,310 --> 00:32:06,730 >> Një fletë mashtrojnë çift vetëm për të mbjellë farë këtu. printf nuk bën vetëm 675 00:32:06,730 --> 00:32:08,600 marrë% s si placeholders. 676 00:32:08,600 --> 00:32:13,490 Ajo merr% d për integers dhjetore, ose% unë do të punojnë si. 677 00:32:13,490 --> 00:32:19,450 F% është vlera lundrues pikë. C% është për një char, në qoftë se ju doni të vetëm plug një 678 00:32:19,450 --> 00:32:23,510 Karakteri në një varg Preformatted si ne kemi qenë duke bërë, ju mund të përdorni% c. 679 00:32:23,510 --> 00:32:28,490 >> Dhe pastaj, disi% annoyingly, Lld është për një numër të plotë të gjatë, të gjatë decimal, 680 00:32:28,490 --> 00:32:31,050 që thjesht do të thotë në qoftë se keni nevojë për një të vërtetë Numri i madh dhe ju jeni duke përdorur diçka 681 00:32:31,050 --> 00:32:35,450 quhet një kohë të gjatë, të cilat ne do të vijë kthehet në një pset, ju mund të përdorni për të LLD% 682 00:32:35,450 --> 00:32:40,700 tregoni printf plug, në një të vërtetë të madhe integer këtu nga rruga e dytë të saj ose 683 00:32:40,700 --> 00:32:41,830 një argument tjetër. 684 00:32:41,830 --> 00:32:45,700 >> Dhe së fundi, kam premtuar se ka një ikje disa të tjera 685 00:32:45,700 --> 00:32:47,670 Sekuencat që printf mbështet. 686 00:32:47,670 --> 00:32:49,160 Ne kemi parë backslash-n. 687 00:32:49,160 --> 00:32:50,510 Backslash-r që ju mund të shihni. 688 00:32:50,510 --> 00:32:51,780 Kjo është lloj i një gjë e vjetër-shkollën. 689 00:32:51,780 --> 00:32:55,920 Nëse keni përdorur ndonjëherë një vjet reale Makina shkrimit më parë dhe ju nxorrën mbi fiksime 690 00:32:55,920 --> 00:32:59,810 të cilat jo vetëm për të ndërruar rrotën lëvizin formacion, ajo gjithashtu u zhvendos 691 00:32:59,810 --> 00:33:03,730 Gjithë gjë të gjithë rrugën prapa mbi të majtë, mirë, backslash-r vetëm 692 00:33:03,730 --> 00:33:06,480 thelb juaj kursori lëviz mbrapa në fillim të rreshtit 693 00:33:06,480 --> 00:33:07,830 pa lëvizur atë poshtë. 694 00:33:07,830 --> 00:33:09,780 Por përsëri, më shumë se, ndoshta, në të ardhmen. 695 00:33:09,780 --> 00:33:13,670 >> Backslash-quote, backslash-quote dyfishtë, backslash-backslash eshte 696 00:33:13,670 --> 00:33:16,600 zgjidhje për shoshë vogël pak Unë aludoi për të parë. 697 00:33:16,600 --> 00:33:18,920 Dhe backslash-0 është në të vërtetë mjaft interesante. 698 00:33:18,920 --> 00:33:21,470 Por ne do të kthehen në që para se të gjatë. 699 00:33:21,470 --> 00:33:25,640 >> Pra më lejoni të shkoj në, tani, CS50 aplikim, dhe le të bëjë në fakt një 700 00:33:25,640 --> 00:33:28,930 shpejtë ngrohur me një nga shembujt kemi bërë tashmë dhe pastaj të kalojnë në 701 00:33:28,930 --> 00:33:31,160 diçka pak më komplekse. 702 00:33:31,160 --> 00:33:34,980 Pra, nëse unë i hapur deri programin tim quajtur gedit - 703 00:33:34,980 --> 00:33:36,840 kjo është redaktori im grafike. 704 00:33:36,840 --> 00:33:38,460 Dhe unë mund ta bëjë këtë - 705 00:33:38,460 --> 00:33:39,820 më lejoni ta mbyll atë dritare atje - 706 00:33:39,820 --> 00:33:42,720 me anë të këtij ikonë këtu poshtë, gedit, në fund të majtë 707 00:33:42,720 --> 00:33:44,170 qoshe e ardhshëm në menu. 708 00:33:44,170 --> 00:33:48,670 >> Unë jam duke shkuar për të shkuar përpara dhe të avancojë, dhe shpëtuar në këtë shembull, të themi, Gjoni 709 00:33:48,670 --> 00:33:49,660 Dosje Harvardit. 710 00:33:49,660 --> 00:33:52,690 Folder John Harvardit është vetëm në shtëpinë e tij dosjen ku të gjitha dosjet e tij të jetojnë 711 00:33:52,690 --> 00:33:53,340 by default. 712 00:33:53,340 --> 00:33:58,410 Dhe unë jam duke shkuar për të shpëtuar këtë si një file i quajtur Hello-0.c. 713 00:33:58,410 --> 00:34:01,260 Dhe unë kam zgjedhur këtë emër vetëm kështu ajo linjat deri me kodin e mostrës për 714 00:34:01,260 --> 00:34:04,210 website natyrisht dhe në YouTube videos online. 715 00:34:04,210 --> 00:34:06,320 >> Deri tani unë jam duke shkuar për të filluar të shkruajnë programin tim të parë. 716 00:34:06,320 --> 00:34:08,469 Më lejoni të zoom në për lexueshmëri. 717 00:34:08,469 --> 00:34:12,760 Dhe unë jam duke shkuar për të shkuar përpara dhe të thonë int void kryesore, e cila është vetëm si se 718 00:34:12,760 --> 00:34:14,900 copë verdhë mister që fillon një program. 719 00:34:14,900 --> 00:34:18,290 Unë kam marrë në zakonin e mbi vjet të hapjes Brace time kaçurrel, atëherë 720 00:34:18,290 --> 00:34:22,000 edhe mbylljen e saj dhe pastaj duke shkuar prapa në ku unë dua të vënë kodin tim, vetëm 721 00:34:22,000 --> 00:34:24,630 sepse ajo ndihmon mua të mbajtur gjithçka balancuar, sidomos si tim 722 00:34:24,630 --> 00:34:25,880 Programi i merr kohë të gjatë. 723 00:34:25,880 --> 00:34:29,239 >> Dhe tani, në këtu, unë jam duke shkuar për të shkuar përpara dhe thonë, printf, të japin kuotën e mbyll thonjëzat, 724 00:34:29,239 --> 00:34:34,330 Përshëndetje Të Gjithëve, backslash-n, të japin kuotën ngushtë, kllapë të ngushtë, pikëpresje. 725 00:34:34,330 --> 00:34:38,100 Kështu që unë jam vetëm duke përsëritur çdo gjë që ne kemi qenë duke marrë për të dhënë deri tani. 726 00:34:38,100 --> 00:34:39,270 Tani unë jam duke shkuar për të zoom out. 727 00:34:39,270 --> 00:34:43,030 >> Dhe kjo dritare terminali poshtë këtu, çfarë Unë jam i lejohet të bëjë në këtë zi 728 00:34:43,030 --> 00:34:44,389 dhe të bardhë dritare? 729 00:34:44,389 --> 00:34:46,977 Çfarë mund të përdorni atë për të? 730 00:34:46,977 --> 00:34:49,770 Pra, ky është vendi ku unë të kandiduar komandat dhe ku unë mund të përpilojë gjëra. 731 00:34:49,770 --> 00:34:50,620 Dhe unë jam duke shkuar për të mbajtur atë të thjeshtë. 732 00:34:50,620 --> 00:34:52,780 Unë jam duke shkuar për të përdorur një program quajtur bërë, e cila nuk eshte 733 00:34:52,780 --> 00:34:54,020 teknikisht një përpilues. 734 00:34:54,020 --> 00:34:56,360 Tingëllimë quhet përpiluesi, por ne do të vijnë përsëri në se në një 735 00:34:56,360 --> 00:34:57,190 javë ose dy herë: së. 736 00:34:57,190 --> 00:35:03,410 >> Tani për tani, unë jam vetëm duke shkuar për të bërë shkruani Hello-0, Por ata prej jush të cilët ishin 737 00:35:03,410 --> 00:35:07,050 krahasuar në mendjen tuaj atë që unë sapo shtypur në atë që unë duhet të ketë shtypur mundet 738 00:35:07,050 --> 00:35:10,180 e di tashmë se unë e bëri diçka të gabuar këtu. 739 00:35:10,180 --> 00:35:12,160 Tani, nuk ka në mënyrë të qartë disa gabime. 740 00:35:12,160 --> 00:35:16,742 Para se unë të shikoni edhe në atë që ata janë, çdo Mendimet si për atë që kam bërë gabim? 741 00:35:16,742 --> 00:35:18,590 >> STUDENTËT: [Mbivendosje Zërat]. 742 00:35:18,590 --> 00:35:18,840 >> DAVID Malan: Po. 743 00:35:18,840 --> 00:35:20,640 Unë jam i humbur dosjen e bibliotekës header. 744 00:35:20,640 --> 00:35:24,240 Çdo të këtyre dosjeve. H quhen header fotografi, dhe ata kolektivisht 745 00:35:24,240 --> 00:35:25,680 përkasin gjërave të quajtura bibliotekat. 746 00:35:25,680 --> 00:35:28,030 Bibliotekat janë vetëm chunks e kodit që njerëzit e tjerë shkruajtur. 747 00:35:28,030 --> 00:35:32,140 Pra, [standardi? I?] biblioteka eshte nje koleksion i dosjeve që përmbajnë kodin 748 00:35:32,140 --> 00:35:33,330 që njerëzit e tjerë shkruajtur. 749 00:35:33,330 --> 00:35:34,820 >> Kështu që unë jam i humbur se. 750 00:35:34,820 --> 00:35:36,520 Pra, pse jam unë duke marrë një gabim? 751 00:35:36,520 --> 00:35:40,840 E pra, më lejoni të lëviz mbrapa deri në Dritarja ime terminal këtu. 752 00:35:40,840 --> 00:35:44,310 Dhe fatkeqësisht, ne C, si në një shumë prej gjuhët e programimit, sidomos 753 00:35:44,310 --> 00:35:47,830 nëse kjo është e gjitha e re për ju, gabim Mesazhet janë të sakta, por ata janë edhe 754 00:35:47,830 --> 00:35:48,620 mjaft i mistershëm. 755 00:35:48,620 --> 00:35:51,720 Dhe gabimi këtu, në të kuqe, është "Funksioni i nënkuptuar deklaruar bibliotekë 756 00:35:51,720 --> 00:35:57,660 printf me llojin e ", dhe pastaj ajo fletushkat për vijën e ardhshme ", int const char *, 757 00:35:57,660 --> 00:36:00,220 ... "Ajo thjesht merr me të vërtetë dërrmuese shpejt. 758 00:36:00,220 --> 00:36:04,420 >> Por ajo që ju duhet të fillojë të bëjë, në qoftë se, përsëri, të reja për të gjithë këtë, është vetëm për të 759 00:36:04,420 --> 00:36:06,010 filloni të shikoni për fjalë kyçe. 760 00:36:06,010 --> 00:36:08,770 Në mënyrë të qartë, unë nuk mund të kuptoj gjysma nga fjalët që unë jam duke parë vetëm ende. 761 00:36:08,770 --> 00:36:10,140 Ju do të, megjithatë, në kohën e një jave. 762 00:36:10,140 --> 00:36:11,230 Por unë shoh printf. 763 00:36:11,230 --> 00:36:14,310 Dhe kjo duhet të fillojë, para se të gjatë, për të shkund kujtesën tuaj, të gjithë të drejtë, printf. 764 00:36:14,310 --> 00:36:15,210 Diçka është e gabuar me printf. 765 00:36:15,210 --> 00:36:16,580 A e kam të spell it wrong? 766 00:36:16,580 --> 00:36:18,130 Jo, kjo nuk duket si - oh. 767 00:36:18,130 --> 00:36:21,350 Unë nuk mund ta përdorni atë nëse kam mësuar përpilues se ajo ekziston. 768 00:36:21,350 --> 00:36:25,220 Dhe kështu, përsëri, shkoni me instinktet tuaja, edhe në qoftë se ju në fakt nuk e kuptojnë 769 00:36:25,220 --> 00:36:26,510 aktuale mesazhet e gabimit. 770 00:36:26,510 --> 00:36:30,240 >> Dhe me të vërtetë, zgjidhja këtu është për të vetëm përfshijnë atë në krye të file 771 00:36:30,240 --> 00:36:34,340 si kjo, resaving dosjen time me Kontrolli-S ose File menu. 772 00:36:34,340 --> 00:36:36,730 Dhe në qoftë se tani unë kthehem këtu poshtë, Unë jam duke shkuar për të pastruar këtë. 773 00:36:36,730 --> 00:36:39,150 Kontrolli-L është vetëm një mënyrë e mirë për të pastruar në ekran. 774 00:36:39,150 --> 00:36:44,870 Dhe atëherë unë jam duke shkuar për të tipit të "bëjë përshëndetje 0 "Enter, dhe tani unë ende shoh një 775 00:36:44,870 --> 00:36:47,710 Sekuenca fshehtë e simboleve, por ne do të kthehen në atë. 776 00:36:47,710 --> 00:36:49,230 Kjo është ajo që bëni është bërë për ju. 777 00:36:49,230 --> 00:36:52,590 Është automating procesin e marrjes së një komandë mjaft i bezdisshëm që përfshin 778 00:36:52,590 --> 00:36:54,050 Tingëllimë, përpilues aktuale. 779 00:36:54,050 --> 00:36:57,460 Por fakti që kam marrë asnjë gabime do të thotë se kjo gjë duhet të punojnë. 780 00:36:57,460 --> 00:37:00,630 >> Kështu që unë tani jam duke shkuar për të bërë - më lejoni të zoom në përsëri - 781 00:37:00,630 --> 00:37:07,070 ./hello-0 Enter, dhe në të vërtetë, unë po shoh "Hello, World". Pra, le të tani të rritur 782 00:37:07,070 --> 00:37:12,105 kjo ndonjëherë në mënyrë pak vetëm për të replikuar hapat e kemi menduar. 783 00:37:12,105 --> 00:37:15,370 Unë jam duke shkuar për të riemërtoni këtë me Ruaj Si për të hello1.c. 784 00:37:15,370 --> 00:37:20,300 Dhe tani unë jam duke shkuar për të deklarojë një ndryshore quajtur emrin, kështu që emri string, 785 00:37:20,300 --> 00:37:23,420 dhe unë jam duke shkuar për të vënë në atë Vlera e mbyll thonjëzat kuotë- 786 00:37:23,420 --> 00:37:27,030 D-A-V-I-D ngushtë quote pikëpresje. 787 00:37:27,030 --> 00:37:31,150 Dhe tani unë jam duke shkuar për të zëvendësuar "botën" me atë që placeholder për një varg? 788 00:37:31,150 --> 00:37:32,200 % S. 789 00:37:32,200 --> 00:37:35,040 >> Dhe tani, sa argumente duhet printf marrë këtë kohë? 790 00:37:35,040 --> 00:37:35,700 Pra dy. 791 00:37:35,700 --> 00:37:37,090 Kështu që unë shkoj jashtë kuotat. 792 00:37:37,090 --> 00:37:39,330 Unë tipit "emrin" pas një presje. 793 00:37:39,330 --> 00:37:41,550 Por unë kam bërë diçka tjetër gabim këtë herë. 794 00:37:41,550 --> 00:37:43,940 Por le të supozojmë se unë nuk e bëri të kuptojë se ende. 795 00:37:43,940 --> 00:37:44,910 Më lejoni të shkojnë deri këtu. 796 00:37:44,910 --> 00:37:48,850 >> Dhe vini re, gjithashtu, unë jam duke marrë një pak mërzitur të shtypni "make Përshëndetje 0" të gjitha 797 00:37:48,850 --> 00:37:50,180 kohës, "të bëjë", dhe e gjithë kjo. 798 00:37:50,180 --> 00:37:53,270 Pra, ajo rezulton, në Linus ju mund të goditur shpesh arrow deri në tuaj 799 00:37:53,270 --> 00:37:56,850 tastierë, dhe ju në fakt mund të lëvizni nëpër të gjitha komandave që unë kam 800 00:37:56,850 --> 00:37:58,830 mëparshme për të ekzekutuar vetëm tani. 801 00:37:58,830 --> 00:38:02,040 Pra, në qoftë se unë bëj këtë, Up, Up, nuk ka të bëjë përshëndetje 0. 802 00:38:02,040 --> 00:38:02,610 Unë nuk dua që. 803 00:38:02,610 --> 00:38:05,450 Unë vetëm dua që kjo të ndryshojë për të përshëndetje 1 këtë herë, Enter. 804 00:38:05,450 --> 00:38:07,620 Përfundimisht, që do të ju kursejnë disa kohë. 805 00:38:07,620 --> 00:38:08,150 >> Dakord. 806 00:38:08,150 --> 00:38:09,520 Për fat të keq, nuk është një gabim. 807 00:38:09,520 --> 00:38:10,980 Pra më lejoni të lëvizni lart. 808 00:38:10,980 --> 00:38:13,120 Kjo duket si unë me të vërtetë therrje këtë program. 809 00:38:13,120 --> 00:38:16,530 Unë do të thotë, Perëndia im, kjo është dy rreshta të kodit, dhe linjat e saj të 10 gabime. 810 00:38:16,530 --> 00:38:18,800 Por shikoni në një krye të parë. 811 00:38:18,800 --> 00:38:21,640 Përdorimi i vargut identifikues padeklaruar. 812 00:38:21,640 --> 00:38:23,270 A e kam të thotë standardi I n? 813 00:38:23,270 --> 00:38:23,930 Jo unë nuk e bëri. 814 00:38:23,930 --> 00:38:24,940 Unë do të thotë string. 815 00:38:24,940 --> 00:38:29,390 >> Por ku është variabël string Lloji i deklaruar, dd themi? 816 00:38:29,390 --> 00:38:30,730 Pra, kjo është në CS50 bibliotekës. 817 00:38:30,730 --> 00:38:33,740 Pra, kjo nuk do të mjaftojë, në këta parë Nja dy javë, vetëm për t'u përdorur 818 00:38:33,740 --> 00:38:34,860 C çfarë na jep. 819 00:38:34,860 --> 00:38:38,120 Unë jam gjithashtu duke shkuar për të shkuar deri këtu, dhe unë mund të vënë atë më lart ose më poshtë, por unë do të 820 00:38:38,120 --> 00:38:40,340 vetëm ta mbani atë alfabetik për të mbajtur gjërat rregullt. 821 00:38:40,340 --> 00:38:43,470 Unë jam duke shkuar për të përfshirë cs50.h, cila është e para-instaluar për 822 00:38:43,470 --> 00:38:44,900 ju në aplikim CS50. 823 00:38:44,900 --> 00:38:47,640 Dhe kjo është burim i hapur, kështu që edhe njerëzit në internet mund të përdorin atë në e tyre 824 00:38:47,640 --> 00:38:48,450 kompjutera vet. 825 00:38:48,450 --> 00:38:50,700 Por kjo vjen me aplikim CS50. 826 00:38:50,700 --> 00:38:55,320 >> Pra, tani më lejoni të shkuar mbrapa dhe recompile kjo të bëjë me përshëndetje 1. 827 00:38:55,320 --> 00:38:55,710 Damn it. 828 00:38:55,710 --> 00:38:57,240 Akoma një tjetër gabim. 829 00:38:57,240 --> 00:38:59,370 Më lejoni të lëviz deri në të parë, edhe pse. 830 00:38:59,370 --> 00:39:00,630 Ky është një kompleks i vogël. 831 00:39:00,630 --> 00:39:03,830 Multi-karakter karakter konstante. 832 00:39:03,830 --> 00:39:04,890 Kjo nuk është ndihmuar mua. 833 00:39:04,890 --> 00:39:08,220 Por vini re, është tingëllimë të paktën një pak bit të mirë, ku me pak 834 00:39:08,220 --> 00:39:11,890 jeshile caret simbol, është thënë këtu është ku unë screwed up. 835 00:39:11,890 --> 00:39:16,160 Pse është treguar, me pak se gjelbër shigjetë, të japin kuotën e vetme e ardhshëm 836 00:39:16,160 --> 00:39:18,290 për emrin tim? 837 00:39:18,290 --> 00:39:20,880 >> Pra, kjo është një nga gjërat që ju vetëm të marrë të përdoret për të, veçanërisht në qoftë se ju keni qenë 838 00:39:20,880 --> 00:39:23,980 programuar në Python, ose JavaScript, apo gjuhët e tjera ku ky detaj 839 00:39:23,980 --> 00:39:24,560 nuk ka rëndësi. 840 00:39:24,560 --> 00:39:25,740 Në C, kjo ka rëndësi. 841 00:39:25,740 --> 00:39:29,520 Nëse ju jeni duke deklaruar një varg, i cili është një sekuencë prej 0 ose më shumë personazheve, 842 00:39:29,520 --> 00:39:32,280 ju të vërtetë duhet të përdorni kuotat e dyfishtë. 843 00:39:32,280 --> 00:39:36,670 Kështu që unë në fakt duhet të ndryshojë këtë shpinën për të hapur kuotë, të japin kuotën e mbyllur, me 844 00:39:36,670 --> 00:39:37,800 Kuotat e dyfishtë. 845 00:39:37,800 --> 00:39:41,610 Kuotat e vetme kanë vendin e tyre, por vetëm kur ju jeni duke përdorur individ 846 00:39:41,610 --> 00:39:44,100 chars, por më shumë në atë kohë tjetër. 847 00:39:44,100 --> 00:39:46,550 Tani për tani, kuotat e dyfishtë janë të domosdoshme. 848 00:39:46,550 --> 00:39:50,460 >> Deri tani, më lejoni të kthehem në terminalin e mia dritare, bëni përshëndetje 1. 849 00:39:50,460 --> 00:39:51,450 Dhe kush është i sigurt? 850 00:39:51,450 --> 00:39:53,800 A është ky program tani do të hartojë në mënyrë korrekte? 851 00:39:53,800 --> 00:39:58,250 852 00:39:58,250 --> 00:39:58,540 OK. 853 00:39:58,540 --> 00:39:59,780 Pra, tre prej nesh mendoj se kjo. 854 00:39:59,780 --> 00:40:00,280 Dakord. 855 00:40:00,280 --> 00:40:01,190 Enter. 856 00:40:01,190 --> 00:40:02,440 Dhe ai në fakt e bëri. 857 00:40:02,440 --> 00:40:05,130 Pra, nuk ka gabime kjo kohë, madje edhe pse ky program ka marrë një grimë 858 00:40:05,130 --> 00:40:05,840 më komplekse. 859 00:40:05,840 --> 00:40:10,110 Nëse unë tani bëj dot vizë-1 Përshëndetje, Enter, ajo do të thonë "hello, David." 860 00:40:10,110 --> 00:40:11,750 >> Por le të bëjë përsëritje e tretë prej kësaj, ku 861 00:40:11,750 --> 00:40:13,380 Programi është me të vërtetë dinamike. 862 00:40:13,380 --> 00:40:16,770 Më lejoni të shkojnë përpara dhe të ndryshoni skedarin e emri, vetëm për konsistencë me 863 00:40:16,770 --> 00:40:20,410 fotografi ju do të keni në dispozicion për ju pas online. 864 00:40:20,410 --> 00:40:21,620 Enter. 865 00:40:21,620 --> 00:40:25,510 Dhe tani unë jam duke shkuar për të shkuar në dhe nuk ruajtur "David" kodifikua e vështirë këtu. 866 00:40:25,510 --> 00:40:28,826 Çfarë mund të bëj për shumë thjesht përmirësuar këtë program? 867 00:40:28,826 --> 00:40:30,520 >> Unë mund të telefononi getString. 868 00:40:30,520 --> 00:40:33,240 Kjo mund të jetë pak jo-e qartë se çfarë është gati të ndodhë, kështu që unë jam duke shkuar 869 00:40:33,240 --> 00:40:38,470 që në fakt të shtoni një tjetër linjë, printf, dhe thonë, emrin e zorrës së trashë, të japin kuotën e ngushtë, vetëm 870 00:40:38,470 --> 00:40:40,790 për të dhënë një përdorues të shpejtë në ekran. 871 00:40:40,790 --> 00:40:42,980 Dhe tani unë jam duke shkuar për të shkuar këtu, dhe unë jam do të përdorni shkurtore tastiere time. 872 00:40:42,980 --> 00:40:47,680 Unë jam duke shkuar për të shkuar lart, lart, dhe për të ndryshuar përshëndetje 1 deri hello 2, Futni. 873 00:40:47,680 --> 00:40:49,260 Dhe fatmirësisht, unë jam duke bërë përparim. 874 00:40:49,260 --> 00:40:52,720 >> Dhe tani unë jam duke shkuar për të shkuar deri dot për çaj Përshëndetje dhe 875 00:40:52,720 --> 00:40:54,690 ndryshojë atë në 2, Enter. 876 00:40:54,690 --> 00:40:55,650 Dhe tani programi im - 877 00:40:55,650 --> 00:40:57,700 Unë do të zoom in - është duke u pak prettier. 878 00:40:57,700 --> 00:41:02,190 Emri do të jetë, le të themi Rob këtë herë, Enter, hello, Rob. 879 00:41:02,190 --> 00:41:03,260 Ne mund të bëjë atë përsëri. 880 00:41:03,260 --> 00:41:05,360 Emri, Lauren, Enter. 881 00:41:05,360 --> 00:41:07,820 Emri, Joseph, Enter. 882 00:41:07,820 --> 00:41:11,596 Emri, le të përpiqet të jetë vështirë, Enter. 883 00:41:11,596 --> 00:41:12,410 Eh. 884 00:41:12,410 --> 00:41:14,680 Kjo nuk është me të vërtetë një bug. 885 00:41:14,680 --> 00:41:16,090 Pra, kjo është vetëm një e shëmtuar pak. 886 00:41:16,090 --> 00:41:18,640 Pra, ndoshta ne mund të zgjidhur këtë në të ardhmen, jo tani. 887 00:41:18,640 --> 00:41:20,840 >> Por si do ju instinktivisht shkoni në lidhje me trajtimin e 888 00:41:20,840 --> 00:41:21,990 se sfidë e veçantë? 889 00:41:21,990 --> 00:41:23,710 Ajo vetëm duket idiotike. 890 00:41:23,710 --> 00:41:27,320 Si mendoni ju shmangur gjëra kërkim budalla? 891 00:41:27,320 --> 00:41:29,890 Pra, ne mund të bëjmë, OK, kam dëgjuar një çift i gjërave, një kusht dhe një lak. 892 00:41:29,890 --> 00:41:33,340 Ne mund të përdorim, një, një kusht, që të kontrolloni ajo është gjatësia e vargut 893 00:41:33,340 --> 00:41:34,190 përdorues i dha na? 894 00:41:34,190 --> 00:41:37,100 Dhe nëse kjo është 0, kjo është vetëm japin kuotën e mbyll thonjëzat, ata vetëm hit Enter, pastaj 895 00:41:37,100 --> 00:41:38,930 ndoshta unë duhet të çirrem në to dhe të nxisë ato përsëri. 896 00:41:38,930 --> 00:41:39,970 Por si do të shkaktonte një ato përsëri? 897 00:41:39,970 --> 00:41:44,230 E pra, edhe unë dëgjova lak, dhe unë mund të të bëjë që përsëri dhe përsëri dhe përsëri 898 00:41:44,230 --> 00:41:47,010 nxitur nga shfrytëzuesi për të njëjtën gjë. 899 00:41:47,010 --> 00:41:48,880 >> E pra, le të bëjmë një shembull tjetër duke përdorur një ndryshme 900 00:41:48,880 --> 00:41:50,620 Funksioni në bibliotekë CS50. 901 00:41:50,620 --> 00:41:52,330 Më lejoni të mbyllë këtë skedë. 902 00:41:52,330 --> 00:41:53,510 Më lejoni të krijuar një të re. 903 00:41:53,510 --> 00:41:58,510 Dhe unë do të thërrasë atë adder.c, vetëm për shkak se është e lehtë për të bërë aritmetikë të thjeshtë, 904 00:41:58,510 --> 00:42:00,890 edhe pse kjo do të jetë plotësisht underwhelming me atë që ju mund të bëni 905 00:42:00,890 --> 00:42:02,250 me çdo kompjuter moderne. 906 00:42:02,250 --> 00:42:03,750 >> Por më lejoni të shkoj përpara dhe tani - 907 00:42:03,750 --> 00:42:10,680 Kam mësuar mësimin tim herën e fundit - të përfshijë cs50.h, përfshijnë stdio.h, int 908 00:42:10,680 --> 00:42:14,170 void kryesore, të cilat, tani për tani, unë vetëm do të të marrë në besim të verbër, por ne do të supozojmë 909 00:42:14,170 --> 00:42:16,380 që do të kuptojnë se çfarë që do të thotë para se të gjatë. 910 00:42:16,380 --> 00:42:21,030 Dhe unë jam duke shkuar për të thënë diçka si "më jepni një int." 911 00:42:21,030 --> 00:42:22,140 >> Dhe tani, si mund të merrni një int? 912 00:42:22,140 --> 00:42:26,820 Unë dua që përfundimisht të deklarojë një ndryshore x quhet i tipit int dhe 913 00:42:26,820 --> 00:42:29,240 ruajtur në të një numër të plotë nga ana e përdoruesit. 914 00:42:29,240 --> 00:42:29,970 Kështu që ishte një kafshatë. 915 00:42:29,970 --> 00:42:35,680 Por në qoftë se dikush dëshiron të propozojë, si unë deklaroj një x integer quajtur? 916 00:42:35,680 --> 00:42:36,310 X int. 917 00:42:36,310 --> 00:42:37,430 >> Pra, kjo është me të vërtetë kaq e thjeshtë. 918 00:42:37,430 --> 00:42:38,240 Më jepni një int. 919 00:42:38,240 --> 00:42:39,070 Tërhiqni vëmendjen se x. 920 00:42:39,070 --> 00:42:40,580 Tani unë përdorin operatorin detyrë. 921 00:42:40,580 --> 00:42:43,400 Dhe si mund ta ruajë nga la një vlerë e përdoruesit? 922 00:42:43,400 --> 00:42:47,310 Unë nuk dua për të thirrur getString, natyrisht, por getint. 923 00:42:47,310 --> 00:42:49,060 Çdo argumente? 924 00:42:49,060 --> 00:42:49,350 Jo. 925 00:42:49,350 --> 00:42:51,870 Pra, kjo është e hapur Paren, Paren afër menjëherë, dhe pastaj një 926 00:42:51,870 --> 00:42:53,440 pikëpresje përfundon linjë. 927 00:42:53,440 --> 00:42:54,930 >> Tani më lejoni të bëjë këtë përsëri. 928 00:42:54,930 --> 00:42:57,070 Më jepni një tjetër int. 929 00:42:57,070 --> 00:43:01,850 Këtë herë unë do të bëj int, le të telefononi atë y, e barabartë me getint. 930 00:43:01,850 --> 00:43:05,060 Dhe tani më lejoni të bëj diçka super-thjeshtë si disa matematikë. 931 00:43:05,060 --> 00:43:14,340 Printf Pra, shuma e% d është vendshënuesi per nje int. 932 00:43:14,340 --> 00:43:20,030 Dhe% d, periudha, backslash-n. 933 00:43:20,030 --> 00:43:20,360 >> Dakord. 934 00:43:20,360 --> 00:43:21,670 Kështu që nuk është e vërtetë matematikë. 935 00:43:21,670 --> 00:43:25,500 Por në qoftë se unë dua të them shumën e këtij Vlera plus kjo vlerë është e barabartë me këtë 936 00:43:25,500 --> 00:43:29,320 vlera të tjera, se sa argumente në përgjithshëm duhet të jetë i dhënë printf, 937 00:43:29,320 --> 00:43:30,520 në fund të fundit? 938 00:43:30,520 --> 00:43:31,420 Pra, katër, e drejtë? 939 00:43:31,420 --> 00:43:33,790 Ky varg dhe pastaj tre vlerat. 940 00:43:33,790 --> 00:43:37,560 Pra, x është së pari unë dua të jenë të lidhej ne fillim te d%. 941 00:43:37,560 --> 00:43:39,270 y do të jetë e ardhshme. 942 00:43:39,270 --> 00:43:42,030 >> Dhe tani unë lloj i duan të thonë z, por z nuk ekziston. 943 00:43:42,030 --> 00:43:43,190 Por kjo nuk është një punë e madhe. 944 00:43:43,190 --> 00:43:45,440 Sepse çfarë do të bëni instinktivisht, veçanërisht në qoftë se keni pasur një 945 00:43:45,440 --> 00:43:47,820 Llogaritësi i grafikët, çfarë ju shkruani? 946 00:43:47,820 --> 00:43:48,760 Si në lidhje me x plus y? 947 00:43:48,760 --> 00:43:50,200 Pra, kjo nuk është një variabël aktuale. 948 00:43:50,200 --> 00:43:51,820 Kjo është vetëm shuma e dy variabla të tjerë. 949 00:43:51,820 --> 00:43:53,170 Dhe kjo është krejtësisht legjitime. 950 00:43:53,170 --> 00:43:56,630 C me siguri e kupton thjeshtë aritmetike si kjo. 951 00:43:56,630 --> 00:43:58,450 >> Pikëpresje, të shpëtuar. 952 00:43:58,450 --> 00:44:02,080 Tani më lejoni të shkoj poshtë këtu dhe tipit të bëjë nëpërkë, Enter. 953 00:44:02,080 --> 00:44:04,100 Jo gabim, kështu që është shumë progres. 954 00:44:04,100 --> 00:44:04,890 Lloji kuçedër. 955 00:44:04,890 --> 00:44:07,100 Dhe një tjetër shkurtore tastiere, nëse ju filloni për të mërzitem 956 00:44:07,100 --> 00:44:08,760 me të gjitha komandat - 957 00:44:08,760 --> 00:44:12,650 nëse ju filloni të shtypni një komandë, si dot pakësojë shpalljen, dhe kjo është ku tuaj 958 00:44:12,650 --> 00:44:16,020 fillon në mërzitje, ju zakonisht mund të goditur Tab që të ketë kompjuter përfundojë 959 00:44:16,020 --> 00:44:20,510 pushoni i frazës për ju, nëse ajo nuk është paqartë se çfarë duhet të vijë pas ad. 960 00:44:20,510 --> 00:44:23,950 >> Pra më lejoni të shkoj përpara tani dhe ju klikoni Enter. 961 00:44:23,950 --> 00:44:27,490 Më jepni një int, 1, 2, dhe fatmirësisht, kjo është 3. 962 00:44:27,490 --> 00:44:29,900 Por si gjithmonë, testimin e programeve nuk duhet reduktuar në 963 00:44:29,900 --> 00:44:30,820 vetëm duke u përpjekur atë një herë. 964 00:44:30,820 --> 00:44:35,560 Më lejoni të provoni një rast qoshe, si negative 1, jep 1, dhe që një 965 00:44:35,560 --> 00:44:36,210 kontrollon jashtë si. 966 00:44:36,210 --> 00:44:38,870 Dhe unë ndoshta dëshironi të bëni disa më shumë testimit rigoroz, por unë jam goxha i 967 00:44:38,870 --> 00:44:40,630 rehat me se ku është në. 968 00:44:40,630 --> 00:44:43,110 >> E pra, tani le të përpiqemi një program tjetër se këtë herë përdor një 969 00:44:43,110 --> 00:44:44,620 bit e sintaksës tjetër. 970 00:44:44,620 --> 00:44:46,100 Më lejoni të krijoni një skedar të ri. 971 00:44:46,100 --> 00:44:51,050 Unë do të thërrasë këtë conditions0.c të vijë me disa online Kodi mostrës. 972 00:44:51,050 --> 00:44:55,550 Dhe më lejoni të shkoj përpara dhe të bëjë përfshijnë cs50.h, përfshijnë 973 00:44:55,550 --> 00:45:00,320 stdio.h, në zbrazëti kryesore - 974 00:45:00,320 --> 00:45:01,030 OK. 975 00:45:01,030 --> 00:45:01,850 Ka të shkojmë. 976 00:45:01,850 --> 00:45:03,010 Ne kemi Boilerplate tonë standarde. 977 00:45:03,010 --> 00:45:08,170 >> Dhe këtë herë unë jam duke shkuar për të thënë printf, "Unë do të doja një int, të lutem," vetëm për 978 00:45:08,170 --> 00:45:10,030 të bëjë një të shpejtë pak më shumë miqësore. 979 00:45:10,030 --> 00:45:11,620 Dhe tani unë dua të merrni një int nga përdoruesi. 980 00:45:11,620 --> 00:45:15,010 Unë jam duke shkuar për të thirrur atë n këtë kohë, vetëm sepse n tingëllon si numër. 981 00:45:15,010 --> 00:45:18,140 getint, dhe tani, çfarë bëjnë Unë dua të bëj me të? 982 00:45:18,140 --> 00:45:21,640 E pra, nëse n është - dhe unë do të zoom në - 983 00:45:21,640 --> 00:45:25,930 nëse n është më e madhe se 0, unë dua të bëni në vijim - 984 00:45:25,930 --> 00:45:36,060 printf "Ju kap një numër pozitiv." Tjetër, unë jam duke shkuar për të tipit printf "Ju 985 00:45:36,060 --> 00:45:37,870 kap një negativ 986 00:45:37,870 --> 00:45:39,650 numër. "Të gjithë të drejtë. 987 00:45:39,650 --> 00:45:44,410 Pra ky program, edhe pse unë e bëri atë shpejtë, duket e drejtë sintaksore. 988 00:45:44,410 --> 00:45:45,010 Më lejoni të provoni këtë. 989 00:45:45,010 --> 00:45:46,890 Bëni gjendjen 0. 990 00:45:46,890 --> 00:45:47,710 Duket për të kandiduar. 991 00:45:47,710 --> 00:45:49,230 Kushti 0, të hyjë. 992 00:45:49,230 --> 00:45:51,910 Le t'i jepte një int të 50. 993 00:45:51,910 --> 00:45:53,160 I kap një numër pozitiv. 994 00:45:53,160 --> 00:45:54,230 Le të provoni përsëri. 995 00:45:54,230 --> 00:45:54,930 Kushti 0. 996 00:45:54,930 --> 00:45:56,260 Negativ 50. 997 00:45:56,260 --> 00:45:57,290 I kap një numër negativ. 998 00:45:57,290 --> 00:46:00,350 >> Por tani, më lejoni të marr atë që ne do të vazhdojmë duke e quajtur një rast këndi, e cila është më e 999 00:46:00,350 --> 00:46:04,702 një rast interesant që ju mendoni se mund të ju jap disa probleme, 0. 1000 00:46:04,702 --> 00:46:07,940 Tani, unë jam goxha i sigurt se kjo është një nga ato raste qoshe ku është zero 1001 00:46:07,940 --> 00:46:12,330 as pozitive as negative, kështu mia Programi, edhe pse në sintaksore 1002 00:46:12,330 --> 00:46:15,440 korrigjuar - ajo harton, ajo shkon - nuk është logjikisht e saktë. 1003 00:46:15,440 --> 00:46:21,050 Pra, çfarë është fix thjeshtë këtu nëse unë dua për të zbuluar, nëse unë dua për të trajtuar n 1004 00:46:21,050 --> 00:46:23,840 është e barabartë me 0 veç e veç? 1005 00:46:23,840 --> 00:46:32,980 >> Pra, nëse n është e barabartë me 0, atëherë unë dua të them diçka si printf "Ju kap 0". 1006 00:46:32,980 --> 00:46:33,990 Më lejoni të provoni këtë tani. 1007 00:46:33,990 --> 00:46:38,320 Më lejoni të kthehem këtu, të qartë Dritarja ime, dhe përpilim. 1008 00:46:38,320 --> 00:46:38,690 Hm. 1009 00:46:38,690 --> 00:46:39,770 Një gabim gjenerojë. 1010 00:46:39,770 --> 00:46:41,630 Por unë nuk ju doni të kontrolloni nëse n është e barabartë me 0. 1011 00:46:41,630 --> 00:46:44,230 1012 00:46:44,230 --> 00:46:47,720 >> Pra, përsëri, një tjetër gjë e trashë të mësohen për të, shenjë të barabartë është 1013 00:46:47,720 --> 00:46:48,910 operatori detyrë. 1014 00:46:48,910 --> 00:46:52,240 Pra, kjo është në të vërtetë gabim në atë që, teknikisht, edhe pse përpiluesit 1015 00:46:52,240 --> 00:46:56,450 mbrojtur mua nga vetja, ne do të teknike te kopjimi 0 ne n, e cila 1016 00:46:56,450 --> 00:46:57,590 nuk është ajo që unë dua. 1017 00:46:57,590 --> 00:47:00,950 Unë dua për të provuar për barazi barabartë me të barabartë. 1018 00:47:00,950 --> 00:47:03,390 Dhe kështu që tani mund të jetë zgjidhja ime më e mirë. 1019 00:47:03,390 --> 00:47:07,810 >> Më lejoni të vërtetë kjo resave si, të themi, conditions1, të jenë të reja dhe të përmirësuara. 1020 00:47:07,810 --> 00:47:10,480 Deri tani, nëse unë recompile kjo, ajo do të bëjë kushte - 1021 00:47:10,480 --> 00:47:16,960 uh - conditions1 bëjnë dot slash conditions1, Enter, "Unë do të doja një int, 1022 00:47:16,960 --> 00:47:18,760 ju lutem. "Unë jam duke shkuar për të shkuar përpara dhe të tipit 50. 1023 00:47:18,760 --> 00:47:19,660 Ajo është ende e mirë. 1024 00:47:19,660 --> 00:47:21,200 Negativ 50, ende e mirë. 1025 00:47:21,200 --> 00:47:24,920 0, dhe kjo, me të vërtetë, zbuluar që unë kap 0. 1026 00:47:24,920 --> 00:47:28,200 >> Pra, ajo që më shumë mund të bëj unë tani me këtë? 1027 00:47:28,200 --> 00:47:32,280 E pra, ne me siguri mund të bëjë gjithnjë e më të gjërat komplekse. 1028 00:47:32,280 --> 00:47:37,240 Por ajo që unë do të doja të propozojë është që ne të përfundojë në këtë shënim këtu. 1029 00:47:37,240 --> 00:47:41,680 Në qoftë se ne tërheq lart këtë, ju do të shihni, ndoshta, një karikaturë preferuar i juaji 1030 00:47:41,680 --> 00:47:43,326 deri sot ju mund të kurrë nuk e kanë kuptuar. 1031 00:47:43,326 --> 00:47:46,550 1032 00:47:46,550 --> 00:47:49,520 Dhe kjo është në lidhje me cilësinë e të qeshurit ju duhet të merrni me shaka SHC. 1033 00:47:49,520 --> 00:47:51,060 Pra, kjo është për të drejtën. 1034 00:47:51,060 --> 00:47:54,900 >> Por më shumë compellingly, unë mendova se do na japin një ngacmues pak për të hënën. 1035 00:47:54,900 --> 00:47:56,430 Pra, ne kemi filluar përdorimin e integers. 1036 00:47:56,430 --> 00:47:57,510 Ne kemi përmendur gjithandej. 1037 00:47:57,510 --> 00:48:00,120 Ne kemi përmendur edhe në dyshe, e cila, përsëri, ju jap numrat 1038 00:48:00,120 --> 00:48:01,390 pas pikë dhjetore. 1039 00:48:01,390 --> 00:48:04,230 >> Por kjo rezulton se gjithandej dhe dyshe, dhe, me të vërtetë, kompjutera, 1040 00:48:04,230 --> 00:48:08,470 rrënjësisht, nuk mund të shprehin disa vlera saktësisht. 1041 00:48:08,470 --> 00:48:12,840 Ne e dimë nga klasa e math që ju mund të të ketë ndonjë numër të numrave pas 1042 00:48:12,840 --> 00:48:13,510 Pika decimale. 1043 00:48:13,510 --> 00:48:16,460 Dhe ju mund të vihet edhe një bar vertikale të thonë këta të shkojnë përgjithmonë. 1044 00:48:16,460 --> 00:48:18,810 >> Për fat të keq, ju nuk mund të vërtetë të bëjë që në një kompjuter. 1045 00:48:18,810 --> 00:48:20,400 Dhe kështu raste qoshe të lindin. 1046 00:48:20,400 --> 00:48:23,120 Për shembull, mendoj që ju jeni bërë diçka financiar. 1047 00:48:23,120 --> 00:48:25,700 Ju jeni duke bërë matematikë me përqindje, dhe 1048 00:48:25,700 --> 00:48:27,030 me dollarë dhe cent. 1049 00:48:27,030 --> 00:48:29,230 Dhe ato cent nuk e bëjnë domosdoshmërisht përzgjedhjen. 1050 00:48:29,230 --> 00:48:34,120 E pra, ajo rezulton se fraksionet e pennies mund të fillojë të shtoni deri kur 1051 00:48:34,120 --> 00:48:37,250 modeluar me një sistem kompjuterik në mënyrë të tillë që i zgjuar 1052 00:48:37,250 --> 00:48:39,100 njerëzit mund të përfitojnë. 1053 00:48:39,100 --> 00:48:42,650 >> Dhe ata prej jush të cilët nuk e kanë parë, unë do të të doja të ju jap një ngacmues 30-të dytë 1054 00:48:42,650 --> 00:48:48,290 një film i mrekullueshëm i njohur si Office Space, e cila do të përshkruaj një foto të një 1055 00:48:48,290 --> 00:48:51,205 Problemi ne do të trajtojë Gjëja e parë që të hënën. 1056 00:48:51,205 --> 00:48:53,960 Nëse ne mund të rritur volumin pak, unë ju jap 30 1057 00:48:53,960 --> 00:48:55,495 sekondat e hapësirë ​​për zyre. 1058 00:48:55,495 --> 00:48:55,770 >> [Video playback] 1059 00:48:55,770 --> 00:48:59,000 >> -Unë do të thotë, që ju, ju nuk keni qenë duke treguar dhe ju merrni për të mbajtur punën tuaj. 1060 00:48:59,000 --> 00:49:00,620 >> -Në fakt, unë jam duke u promovuar. 1061 00:49:00,620 --> 00:49:03,240 >> -Unë mund të programojnë një virus që do të shqyej atë vend off kohë e madhe. 1062 00:49:03,240 --> 00:49:04,430 >> -E pra, si e bën këtë punë? 1063 00:49:04,430 --> 00:49:06,782 >> -Sa herë që ka një transaksioni bankar ku interesi i llogaritur, dhe atje 1064 00:49:06,782 --> 00:49:10,160 janë mijëra në ditë, kompjuteri përfundon deri me këto fraksionet e një qind. 1065 00:49:10,160 --> 00:49:12,030 >> -Por unë nuk jam duke shkuar për të bërë diçka të paligjshme. 1066 00:49:12,030 --> 00:49:12,660 >> -Paligjshme? 1067 00:49:12,660 --> 00:49:15,075 Samir, kjo është Amerika. 1068 00:49:15,075 --> 00:49:16,570 >> -Ne duhet të betohem për Zotin. 1069 00:49:16,570 --> 00:49:19,070 >> -Në qoftë se askush nuk e di në lidhje me këtë por ne, të gjithë të drejtë? 1070 00:49:19,070 --> 00:49:21,920 Asnjë anëtarët e familjes, nuk ka girlfriends, askush. 1071 00:49:21,920 --> 00:49:22,700 >> -Sigurisht. 1072 00:49:22,700 --> 00:49:23,320 >> -Dakord. 1073 00:49:23,320 --> 00:49:24,280 >> -Don ', njeri merak. 1074 00:49:24,280 --> 00:49:25,640 Unë nuk do ti tregoj askujt as. 1075 00:49:25,640 --> 00:49:26,504 >> [VIDEO END rishikim] 1076 00:49:26,504 --> 00:49:30,030 >> DAVID Malan: Pra, kjo, atëherë, është CS50, se ishte Office Space, dhe të gjithë do të 1077 00:49:30,030 --> 00:49:31,465 kuptim të hënën. 1078 00:49:31,465 --> 00:49:33,940 Shihemi pastaj. 1079 00:49:33,940 --> 00:49:37,880 >> Transmetuesi: Në CS50 ardhshëm, Rob përshtat për të qenë jashtë 1080 00:49:37,880 --> 00:49:39,130 Plani i Harvardit vakt. 1081 00:49:39,130 --> 00:49:56,160