1 00:00:00,000 --> 00:00:02,880 >> [Musiikkia] 2 00:00:02,880 --> 00:00:10,580 3 00:00:10,580 --> 00:00:13,500 >> SPEAKER 1: Tﺣ۳mﺣ۳ on CS50 ja tﺣ۳mﺣ۳ on alku viikolla kaksi. 4 00:00:13,500 --> 00:00:18,400 Joten, nyt sukeltaa suoraan jotain ettﺣ۳ on buginen, niin sanoakseni. 5 00:00:18,400 --> 00:00:24,015 Joten, tﺣ۳ﺣ۳llﺣ۳ on CS50 IDE ja olen revitﺣ۳ etukﺣ۳teen tﺣ۳ssﺣ۳ screen-- hemmetin 6 00:00:24,015 --> 00:00:25,070 se. 7 00:00:25,070 --> 00:00:25,760 Spoileri hﺣ۳lytys. 8 00:00:25,760 --> 00:00:26,260 Selvﺣ۳. 9 00:00:26,260 --> 00:00:29,060 Olen revitﺣ۳ tﺣ۳ssﺣ۳ nﺣ۳ytﺣﭘssﺣ۳ tﺣ۳ﺣ۳llﺣ۳, joka on hyvin yksinkertainen ohjelma. 10 00:00:29,060 --> 00:00:32,659 Jos me selaa, useimmat Tﺣ۳mﺣ۳n on juuri kommentoi, 11 00:00:32,659 --> 00:00:36,730 mutta tﺣ۳ﺣ۳llﺣ۳ linjat 13 kautta 17 meillﺣ۳ on ohjelma. 12 00:00:36,730 --> 00:00:40,580 >> Se on syntaktisesti voimassa, mikﺣ۳ tarkoittaa, ettﺣ۳ jos Olen kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ sen, se kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ ja ajaa, 13 00:00:40,580 --> 00:00:41,920 mutta se on buginen. 14 00:00:41,920 --> 00:00:47,330 Tﺣ۳mﺣ۳ ohjelma vﺣ۳ittﺣ۳ﺣ۳ kommentit ylﺣﭘs ettﺣ۳ se pitﺣ۳isi tulostaa 10 tﺣ۳hteﺣ۳, 15 00:00:47,330 --> 00:00:48,870 mutta se ei. 16 00:00:48,870 --> 00:00:53,290 Ja perustuu omaan kokemukseen, tai pian kokemusta C, 17 00:00:53,290 --> 00:00:56,820 voit loogisesti erottaa miksi tﺣ۳mﺣ۳ on, itse asiassa, buginen? 18 00:00:56,820 --> 00:00:57,804 Joo? 19 00:00:57,804 --> 00:00:59,220 Yleisﺣﭘ: Se menee nollasta 10. 20 00:00:59,220 --> 00:01:01,884 Se on 11 toistojen. 21 00:01:01,884 --> 00:01:02,550 SPEAKER 1: Joo. 22 00:01:02,550 --> 00:01:06,030 Niin, se menee nollasta lﺣ۳pi ja yhtﺣ۳ suuri kuin 10, 23 00:01:06,030 --> 00:01:08,140 joka tietenkin on 11 toistojen. 24 00:01:08,140 --> 00:01:10,020 Niin, se tulee Tulosta, todellakin, 11 tﺣ۳hteﺣ۳. 25 00:01:10,020 --> 00:01:13,040 Joten, tietojenkﺣ۳sittelytiede yleissopimuksen Useimmissa ohjelmointikielissﺣ۳ 26 00:01:13,040 --> 00:01:15,270 on todellakin vain alkaa laskea nollasta, 27 00:01:15,270 --> 00:01:18,800 mutta laskea jopa mutta ei lﺣ۳pi Arvo, joka todella kiinnostaa. 28 00:01:18,800 --> 00:01:21,216 >> Nyt, tﺣ۳mﺣ۳ on yksi asia, ettﺣ۳ vie hieman totuttelua 29 00:01:21,216 --> 00:01:25,350 ja jopa Scratch, suunniteltu se on ei ohjelmoijat tai ei tietokone 30 00:01:25,350 --> 00:01:28,070 tutkijoiden ja lapsille suurelta osin, on suunniteltu siten, ettﺣ۳ 31 00:01:28,070 --> 00:01:29,570 te alkaa laskea yleensﺣ۳ yksi. 32 00:01:29,570 --> 00:01:30,277 Ja se kﺣ۳y hyvin. 33 00:01:30,277 --> 00:01:33,110 Voit ehdottomasti alkaa laskea yhtﺣ۳ jos se mukavampaa. 34 00:01:33,110 --> 00:01:37,210 Ja laskea jopa ja kautta 10, mutta huomaat erityisesti tﺣ۳llﺣ۳ viikolla 35 00:01:37,210 --> 00:01:39,950 ja pidemmﺣ۳lle juuri niin monet asiat ohjelmointi 36 00:01:39,950 --> 00:01:42,465 olettaa, ettﺣ۳ 0 on ensimmﺣ۳inen numeroinen jolla laskit, 37 00:01:42,465 --> 00:01:45,590 ettﺣ۳ olet menossa on helpompi vain pﺣ۳ﺣ۳stﺣ۳ tﺣ۳mﺣ۳ tapa alkaa 38 00:01:45,590 --> 00:01:49,490 nollasta ja laskemalla arvoon saakka vﺣ۳litﺣ۳t juuri nyt pﺣ۳ﺣ۳ssﺣ۳ 39 00:01:49,490 --> 00:01:49,990 saada mennﺣ۳. 40 00:01:49,990 --> 00:01:50,990 >> Niin, ettﺣ۳ on kiinteﺣ۳nﺣ۳. 41 00:01:50,990 --> 00:01:53,670 Muutimme alle tai vastaa vain alle. 42 00:01:53,670 --> 00:01:56,050 Katsotaanpa katsomaan Toinen esimerkki tﺣ۳stﺣ۳. 43 00:01:56,050 --> 00:01:59,585 >> Joten, tﺣ۳mﺣ۳ ohjelma liian vﺣ۳ittﺣ۳ﺣ۳ sen kommentoi ylﺣﭘs, ettﺣ۳ se pitﺣ۳isi tulostaa 44 00:01:59,585 --> 00:02:02,260 kymmenen tﺣ۳hteﺣ۳, mutta se ei ole. 45 00:02:02,260 --> 00:02:05,540 Mikﺣ۳ vika tﺣ۳ﺣ۳llﺣ۳? 46 00:02:05,540 --> 00:02:07,930 >> Niin, what-- ja anteeksi, olkaamme selkeitﺣ۳. 47 00:02:07,930 --> 00:02:08,610 10 tﺣ۳hteﺣ۳. 48 00:02:08,610 --> 00:02:11,644 Yksi per rivi, mutta se ei ole. 49 00:02:11,644 --> 00:02:14,810 Joten itse asiassa, anna minun mennﺣ۳ eteenpﺣ۳in ja koota tﺣ۳mﺣ۳ koska se on hieman vﺣ۳hemmﺣ۳n 50 00:02:14,810 --> 00:02:16,900 tyhjentﺣ۳ﺣ۳ perusteella, ettﺣ۳ kuvaus. 51 00:02:16,900 --> 00:02:18,720 Anna minun mennﺣ۳ meidﺣ۳n lﺣ۳hde hakemistoon. 52 00:02:18,720 --> 00:02:25,110 Tee buginen yksi piste slash, buginen yksi. 53 00:02:25,110 --> 00:02:28,680 OK, nﺣ۳en 11 tﺣ۳hteﺣ۳, joka on edelleen ongelmallinen, 54 00:02:28,680 --> 00:02:30,090 mutta he ovat myﺣﭘs kaikki yhdellﺣ۳ rivillﺣ۳. 55 00:02:30,090 --> 00:02:31,500 Mikﺣ۳ kysymys? 56 00:02:31,500 --> 00:02:32,339 Joo. 57 00:02:32,339 --> 00:02:33,255 Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn]. 58 00:02:33,255 --> 00:02:36,194 59 00:02:36,194 --> 00:02:36,860 SPEAKER 1: Joo. 60 00:02:36,860 --> 00:02:40,210 Joten tﺣ۳mﺣ۳ on hienovaraisuus ettﺣ۳ saatat muistuttaa minua tekemﺣ۳ﺣ۳n lyhyt maininta. 61 00:02:40,210 --> 00:02:42,793 Vaikka kaikki nﺣ۳yttﺣ۳ﺣ۳ aika, ja se on kauniisti sisennetty, 62 00:02:42,793 --> 00:02:45,850 ja se tavallaan nﺣ۳yttﺣ۳ﺣ۳ Scratch kaltaisten Tﺣ۳lle riville 16 ja 17 ovat, 63 00:02:45,850 --> 00:02:47,600 todellakin, sisennetty nojalla, ettﺣ۳ silmukka. 64 00:02:47,600 --> 00:02:48,400 Se on merkityksetﺣﭘntﺣ۳. 65 00:02:48,400 --> 00:02:50,460 Tietokone ei tietﺣ۳ﺣ۳ tai nﺣ۳hdﺣ۳ valkoinen tila. 66 00:02:50,460 --> 00:02:52,910 Valkoinen tila on vain meille ihmisille, tyylillisesti. 67 00:02:52,910 --> 00:02:57,010 Tietokone ei tiedﺣ۳ milloin olet aaltosulkeita, joka olisi todellakin, 68 00:02:57,010 --> 00:02:58,280 Korjaa ongelma. 69 00:02:58,280 --> 00:03:02,350 >> Joten, jos me todella meni ja nimenomaisesti laittaa nﺣ۳issﺣ۳ aaltosulkeita 70 00:03:02,350 --> 00:03:05,220 ettﺣ۳ olisi korjata tﺣ۳mﺣ۳n ongelman tehden selvﺣ۳ksi kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ 71 00:03:05,220 --> 00:03:07,930 ettﺣ۳ olen todella haluavat suorittaa kaksi riviﺣ۳ koodia uudelleen, 72 00:03:07,930 --> 00:03:09,220 ja uudestaan, ja uudestaan. 73 00:03:09,220 --> 00:03:11,680 Mutta mitﺣ۳ perusoikeuksien selitys? 74 00:03:11,680 --> 00:03:12,180 Oikea? 75 00:03:12,180 --> 00:03:15,260 Emme ehdottomasti tarvitse kihara henkselit koko ajan, 76 00:03:15,260 --> 00:03:18,210 vaikka se on luultavasti parasta kﺣ۳ytﺣ۳ntﺣﭘ pﺣ۳ﺣ۳stﺣ۳ ettﺣ۳ tapa tapauksessa 77 00:03:18,210 --> 00:03:20,878 vaikka se lisﺣ۳ﺣ۳ kaksi merkkiﺣ۳ koodi. miksi? 78 00:03:20,878 --> 00:03:22,380 >> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn]? 79 00:03:22,380 --> 00:03:24,630 SPEAKER 1: Joo niin se toinen ratkaisu kokonaan. 80 00:03:24,630 --> 00:03:25,130 Oikea? 81 00:03:25,130 --> 00:03:28,250 Varsinkin jos ensi silmﺣ۳yksellﺣ۳ et Arvostan mitﺣ۳ tapahtuu. 82 00:03:28,250 --> 00:03:31,070 No, varmasti voisimme vain tehdﺣ۳ kaksi asiaa kerralla 83 00:03:31,070 --> 00:03:32,710 ja vain vﺣ۳lttﺣ۳ﺣ۳ ongelman kokonaan. 84 00:03:32,710 --> 00:03:36,080 Ja se on hienoa, mutta nyt, nykypﺣ۳ivﺣ۳n tarkoituksia, mitﺣ۳ 85 00:03:36,080 --> 00:03:38,200 on selitys virheen? 86 00:03:38,200 --> 00:03:39,810 Miksi kaikki tﺣ۳hdet yhdellﺣ۳ rivillﺣ۳? 87 00:03:39,810 --> 00:03:40,806 Joo? 88 00:03:40,806 --> 00:03:43,296 >> Yleisﺣﭘ: Nﺣ۳yttﺣ۳ﺣ۳ siltﺣ۳, ﻗ€‹ﻗ€‹ettﺣ۳ jos sinulla on yksi rivi koodia, 89 00:03:43,296 --> 00:03:46,649 voit tehdﺣ۳ sen ilman nﺣ۳itﺣ۳. 90 00:03:46,649 --> 00:03:47,440 SPEAKER 1: Aivan. 91 00:03:47,440 --> 00:03:48,750 Tﺣ۳mﺣ۳ on vain ihmisen sopimusta. 92 00:03:48,750 --> 00:03:50,750 Ihmiset ymmﺣ۳rtﺣ۳vﺣ۳t, ettﺣ۳ se on vﺣ۳hﺣ۳n ﺣ۳rsyttﺣ۳vﺣ۳ﺣ۳ tai tylsiﺣ۳ 93 00:03:50,750 --> 00:03:53,470 tﺣ۳ytyy laittaa aaltosulkeita kaikki ajasta, jos kaikki haluat tehdﺣ۳ 94 00:03:53,470 --> 00:03:55,090 on suorittaa yhtﺣ۳ riviﺣ۳ koodia. 95 00:03:55,090 --> 00:03:57,660 Joten, ihmiset pﺣ۳ﺣ۳tti jotkut aika sitten, ettﺣ۳ se kﺣ۳y hyvin. 96 00:03:57,660 --> 00:04:01,180 Jos haluat laittaa kaikki silmukan juuri, ettﺣ۳ yksi rivi nﺣ۳in, 97 00:04:01,180 --> 00:04:04,030 se on hieno kanssa yhden puolipiste lopussa. 98 00:04:04,030 --> 00:04:07,210 Mutta voit vain tehdﺣ۳ yksi tﺣ۳llainen linja ilman aaltosulkeiden. 99 00:04:07,210 --> 00:04:09,900 >> Joten, kun CS50 ohjeet kuten kohta sinua, 100 00:04:09,900 --> 00:04:11,980 nﺣ۳et, ettﺣ۳ yleisesti se on hyvﺣ۳ tapa 101 00:04:11,980 --> 00:04:14,920 pﺣ۳ﺣ۳stﺣ۳ tﺣ۳hﺣ۳n kunnes olet varsin mukava harhaan 102 00:04:14,920 --> 00:04:17,404 alkaen tﺣ۳llaisia ﻗ€‹ﻗ€‹sopimuksia ja tekee omia juttuja. 103 00:04:17,404 --> 00:04:18,820 Niin kauan kuin olet itse johdonmukainen. 104 00:04:18,820 --> 00:04:21,540 Ja me puhua enemmﺣ۳n tyyli hieman myﺣﭘhemmin tﺣ۳nﺣ۳ﺣ۳n. 105 00:04:21,540 --> 00:04:23,200 >> Joten, anna minun avata yksi muu ohjelma. 106 00:04:23,200 --> 00:04:24,930 Tietenkin meidﺣ۳n pitﺣ۳isi vahvistaa, ettﺣ۳ 10 samoin. 107 00:04:24,930 --> 00:04:32,470 Anna minun mennﺣ۳ eteenpﺣ۳in ja kirjoittaa todellinen nopea ohjelma, soitan, 108 00:04:32,470 --> 00:04:38,140 sanokaamme, silmukka piste C. Joten, silmukka piste C. Ja silmukka piste C aion olla, 109 00:04:38,140 --> 00:04:41,970 ovat vakio-I / O- piste H int main mitﺣ۳tﺣﭘn. 110 00:04:41,970 --> 00:04:44,020 Ja nyt Haluan vain tehdﺣ۳, todellakin, silmukka. 111 00:04:44,020 --> 00:04:46,020 Joten, 4 int i saa nolla. 112 00:04:46,020 --> 00:04:48,660 I on vﺣ۳hemmﺣ۳n kuin vaikkapa 50. 113 00:04:48,660 --> 00:04:49,950 Minﺣ۳ plus, plus. 114 00:04:49,950 --> 00:04:53,350 Ja sitten tﺣ۳ﺣ۳llﺣ۳ katsotaanpa mennﺣ۳ eteenpﺣ۳in ja tehdﺣ۳ tulosta F. 115 00:04:53,350 --> 00:04:56,400 Ja sitten haluan tulostaa I ja uusi linja, puolipiste. 116 00:04:56,400 --> 00:05:00,015 >> Ja tﺣ۳mﺣ۳n pitﺣ۳isi tulostaa kaikki numerot nollasta jopa 50? 117 00:05:00,015 --> 00:05:02,900 118 00:05:02,900 --> 00:05:03,680 Muutama pﺣ۳ﺣ۳ nyﺣﭘkkﺣ۳ﺣ۳. 119 00:05:03,680 --> 00:05:04,270 Muutama nos. 120 00:05:04,270 --> 00:05:05,339 Mikﺣ۳ vika jo? 121 00:05:05,339 --> 00:05:06,630 Mikﺣ۳ helppo virhe tein? 122 00:05:06,630 --> 00:05:07,170 Joo. 123 00:05:07,170 --> 00:05:08,544 >> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn]. 124 00:05:08,544 --> 00:05:09,210 SPEAKER 1: Joo. 125 00:05:09,210 --> 00:05:11,520 Joten vaikka se nﺣ۳yttﺣ۳ﺣ۳ kuten tﺣ۳mﺣ۳ on mitﺣ۳ aion, 126 00:05:11,520 --> 00:05:13,920 muistuttaa, ettﺣ۳ minﺣ۳ on myﺣﭘs vain ASCII. 127 00:05:13,920 --> 00:05:14,955 >> Joten, jos sanon, print "I" 128 00:05:14,955 --> 00:05:16,670 Se kirjaimellisesti menossa tulostaa I. Joten, jos en 129 00:05:16,670 --> 00:05:20,030 haluavat plug-in paikkamerkki arvo Olen itse tﺣ۳ytyy tehdﺣ۳ tﺣ۳mﺣ۳ 130 00:05:20,030 --> 00:05:22,630 ja sitten plug-in arvo, dynaamisesti. 131 00:05:22,630 --> 00:05:25,200 Muuten olen juuri menossa saat 50 I: n ruudulla. 132 00:05:25,200 --> 00:05:28,140 >> Joten, anna minun mennﺣ۳ eteenpﺣ۳in ja tehdﺣ۳ tﺣ۳mﺣ۳n silmukan, ajaa se, 133 00:05:28,140 --> 00:05:30,650 ja todellakin, olemme kaikki Muuten lﺣ۳pi 49. 134 00:05:30,650 --> 00:05:34,140 Ja jos minﺣ۳ vierittﺣ۳ﺣ۳ ajassa taaksepﺣ۳in nﺣ۳en numero nolla alussa. 135 00:05:34,140 --> 00:05:36,050 >> No, mitﺣ۳ jos olen sellainen tyriﺣ۳? 136 00:05:36,050 --> 00:05:37,800 Mitﺣ۳ jos teen nﺣ۳in? 137 00:05:37,800 --> 00:05:40,120 Vain koska en ole ajatellut. 138 00:05:40,120 --> 00:05:40,970 Mikﺣ۳ tﺣ۳mﺣ۳ ohjelma. 139 00:05:40,970 --> 00:05:43,970 Kun uudelleen koottu ja ajaa, aikoo tehdﺣ۳ loogisesti? 140 00:05:43,970 --> 00:05:44,870 >> Yleisﺣﭘ: Ei mitﺣ۳ﺣ۳n. 141 00:05:44,870 --> 00:05:45,661 >> SPEAKER 1: Ei mitﺣ۳ﺣ۳n. 142 00:05:45,661 --> 00:05:47,156 Miksi nﺣ۳in? 143 00:05:47,156 --> 00:05:49,124 >> Yleisﺣﭘ: I suunniteltu nolla. 144 00:05:49,124 --> 00:05:51,899 Niin, ehto on epﺣ۳tosi. 145 00:05:51,899 --> 00:05:52,940 SPEAKER 1: Joo, tﺣ۳smﺣ۳lleen. 146 00:05:52,940 --> 00:05:55,110 Kaikki koodi on oikea, syntaktisesti. 147 00:05:55,110 --> 00:05:57,310 Tﺣ۳mﺣ۳ laatii, tﺣ۳mﺣ۳ koodi toimii, mutta se ei ole 148 00:05:57,310 --> 00:06:00,110 aikoo tehdﺣ۳ mitﺣ۳ﺣ۳n hyﺣﭘdyllistﺣ۳ koska olen alustaa olen nolla. 149 00:06:00,110 --> 00:06:02,240 Me sitten tarkistaa, on minﺣ۳ suurempi kuin 50? 150 00:06:02,240 --> 00:06:03,810 On selvﺣ۳ﺣ۳, ei, se ei ole. 151 00:06:03,810 --> 00:06:05,760 Niin silmukka ei koskaan suorittaa lainkaan. 152 00:06:05,760 --> 00:06:09,580 >> Mitﺣ۳ jos teemme jotain hieman holtiton? 153 00:06:09,580 --> 00:06:12,890 Joten, mitﺣ۳ jos teemme kuten int i saa nolla. 154 00:06:12,890 --> 00:06:15,640 Ja nyt haluan kﺣ۳yttﺣ۳ﺣ۳ taas silmukka, joka oli toinen ehto. 155 00:06:15,640 --> 00:06:21,810 Ja kun minﺣ۳ sanon, kun I on suurempi kuin tai olemattomat, ja sitten tﺣ۳ﺣ۳llﺣ۳ I 156 00:06:21,810 --> 00:06:26,070 mennﺣ۳ eteenpﺣ۳in ja tallenna tiedosto, tee silmukka. 157 00:06:26,070 --> 00:06:27,070 Ja olen aikeissa kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳. 158 00:06:27,070 --> 00:06:30,230 Mitﺣ۳ minﺣ۳ nﺣ۳hdﺣ۳ tﺣ۳mﺣ۳n aikaa, kun silmukka? 159 00:06:30,230 --> 00:06:30,852 Joo. 160 00:06:30,852 --> 00:06:32,120 >> Yleisﺣﭘ: loputon silmukka? 161 00:06:32,120 --> 00:06:35,360 >> SPEAKER 1: loputon silmukka? 162 00:06:35,360 --> 00:06:36,662 Kyllﺣ۳, ja miksi? 163 00:06:36,662 --> 00:06:38,120 Yleisﺣﭘ: Koska se on aina nolla. 164 00:06:38,120 --> 00:06:38,786 SPEAKER 1: Joo. 165 00:06:38,786 --> 00:06:40,100 Niin, i alustetaan nollaksi. 166 00:06:40,100 --> 00:06:44,470 Tietysti on aina suurempi kuin tai yhtﺣ۳ suuri kuin 0 seurauksena. 167 00:06:44,470 --> 00:06:46,460 Joten, olen juuri menossa katso tﺣ۳mﺣ۳n ﺣ۳ﺣ۳rettﺣﭘmﺣ۳n. 168 00:06:46,460 --> 00:06:49,850 Ja nyt, tﺣ۳mﺣ۳ on keksiﺣ۳ kerran tai kahdesti kurssin pﺣ۳ﺣ۳tﺣ۳. 169 00:06:49,850 --> 00:06:52,417 Mitﺣ۳ tapahtuu, kun on loputon silmukka? 170 00:06:52,417 --> 00:06:53,314 >> Yleisﺣﭘ: Ohjaus C. 171 00:06:53,314 --> 00:06:53,980 SPEAKER 1: Joo. 172 00:06:53,980 --> 00:06:56,250 Joten Ohjaus C lopulta vastata. 173 00:06:56,250 --> 00:06:59,520 Valitettavasti olemme tulostaa miljoonia ja miljoonia nollia jo 174 00:06:59,520 --> 00:07:01,520 ja niin tietokone on erﺣ۳ﺣ۳nlainen sai ennen minua. 175 00:07:01,520 --> 00:07:03,394 Niin, se tulee jﺣ۳ttﺣ۳ﺣ۳ minua vﺣ۳hﺣ۳n. 176 00:07:03,394 --> 00:07:06,560 Mutta jos vain lyﺣﭘdﺣ۳ Ohjaus C muutaman kertaa Mac- tai PC-nﺣ۳ppﺣ۳imistﺣﭘn, 177 00:07:06,560 --> 00:07:08,790 lopulta se olisi todellakin lopettaa. 178 00:07:08,790 --> 00:07:11,770 Ja jos ei, nﺣ۳ytﺣ۳mme joitakin tekniikoita ennen pitkﺣ۳ﺣ۳ missﺣ۳ 179 00:07:11,770 --> 00:07:14,850 voi todella vﺣ۳kisin tappaa ohjelmia, aivan kuten Windows ja Mac OS, 180 00:07:14,850 --> 00:07:15,562 jos tarvetta on. 181 00:07:15,562 --> 00:07:16,770 Mutta katsotaanpa kokeilla jotain muuta. 182 00:07:16,770 --> 00:07:19,895 Katsotaanpa todella kasvattaa I Is tﺣ۳mﺣ۳ silti olemaan ﺣ۳ﺣ۳retﺣﭘn? 183 00:07:19,895 --> 00:07:22,870 184 00:07:22,870 --> 00:07:25,140 Minﺣ۳ juoksen tﺣ۳mﺣ۳n. 185 00:07:25,140 --> 00:07:27,090 Ja nyt voit erﺣ۳ﺣ۳nlainen katso mitﺣ۳ tapahtuu. 186 00:07:27,090 --> 00:07:30,140 Tﺣ۳mﺣ۳kin on pﺣ۳ﺣ۳ttymﺣ۳ttﺣﭘmﺣ۳ﺣ۳n silmukkaan. 187 00:07:30,140 --> 00:07:33,080 Mutta tﺣ۳mﺣ۳ on hieman temppu kysymys. 188 00:07:33,080 --> 00:07:35,460 Tﺣ۳mﺣ۳ tulee tulostaa numerot ikuisesti? 189 00:07:35,460 --> 00:07:36,647 >> Yleisﺣﭘ: Ei. 190 00:07:36,647 --> 00:07:37,230 SPEAKER 1: Ei. 191 00:07:37,230 --> 00:07:37,620 Miksi? 192 00:07:37,620 --> 00:07:38,820 Kuulin nos tﺣ۳nne. 193 00:07:38,820 --> 00:07:41,859 Someone-- Joo. 194 00:07:41,859 --> 00:07:44,275 Yleisﺣﭘ: Sinulla ei ole tarpeeksi bitit todella jatkaa. 195 00:07:44,275 --> 00:07:44,730 SPEAKER 1: Selvﺣ۳. 196 00:07:44,730 --> 00:07:46,000 Joten minulla ei ole tarpeeksi bitit pitﺣ۳ﺣ۳ kﺣ۳ynnissﺣ۳. 197 00:07:46,000 --> 00:07:47,124 Joten, mitﺣ۳ tulee tapahtumaan? 198 00:07:47,124 --> 00:07:49,320 Se on vain aio lopettaa? 199 00:07:49,320 --> 00:07:52,542 >> Yleisﺣﭘ: Jossain vaiheessa se sammuu the-- 200 00:07:52,542 --> 00:07:54,500 SPEAKER 1: se sammuu silmukka alas, mutta miksi? 201 00:07:54,500 --> 00:07:57,950 Mitﺣ۳ tulee tapahtua aivan lopussa sen rajat? 202 00:07:57,950 --> 00:07:58,479 Joo? 203 00:07:58,479 --> 00:08:00,520 Yleisﺣﭘ: Se sykli takaisin negatiivisia lukuja. 204 00:08:00,520 --> 00:08:02,900 SPEAKER 1: negatiiviset luvut, tai jos me vain hoitoon positiivinen, 205 00:08:02,900 --> 00:08:03,570 nolla ainakin. 206 00:08:03,570 --> 00:08:04,550 Joten kyllﺣ۳, ehdottomasti. 207 00:08:04,550 --> 00:08:08,059 Muista, ettﺣ۳ nﺣ۳imme viime kerralla, ettﺣ۳ jos lisﺣ۳ys bitit yksi liian monta kertaa, 208 00:08:08,059 --> 00:08:10,225 ja siellﺣ۳ Fore ylivuoto kapasiteetti teidﺣ۳n int 209 00:08:10,225 --> 00:08:13,058 tai mitﺣ۳ tahansa tietotyyppi on, olet menossa kietoa, luultavasti, 210 00:08:13,058 --> 00:08:14,020 kaksi negatiivisia lukuja. 211 00:08:14,020 --> 00:08:16,644 Tai jos olet mﺣ۳ﺣ۳rittﺣ۳ﺣ۳, ettﺣ۳ alue pitﺣ۳isi vain olla positiivinen, 212 00:08:16,644 --> 00:08:18,560 jossa voit tehdﺣ۳, mutta olemme ole nﺣ۳hnyt sitﺣ۳ vielﺣ۳, 213 00:08:18,560 --> 00:08:21,420 saatat pﺣ۳ﺣ۳tyﺣ۳ ainakin takaisin nollaan. 214 00:08:21,420 --> 00:08:22,410 Vaikka itse asiassa kyllﺣ۳. 215 00:08:22,410 --> 00:08:24,320 Tﺣ۳ssﺣ۳ tapauksessa negatiivinen numeroita, jolloin 216 00:08:24,320 --> 00:08:26,870 silmukka tulee lopettaa koska en ole itse asiassa, 217 00:08:26,870 --> 00:08:29,220 suurempi tai yhtﺣ۳ suuri kuin nolla, jos se on negatiivinen. 218 00:08:29,220 --> 00:08:31,780 >> Joten valitettavasti, miten pitkﺣ۳ olisi meidﺣ۳n on odotettava? 219 00:08:31,780 --> 00:08:35,490 Juuri nyt olemme jopa mitﺣ۳, 2000000-ish? 220 00:08:35,490 --> 00:08:37,705 Olemme kuin 2000000000, aiomme joutua odottamaan 221 00:08:37,705 --> 00:08:39,330 kunnes voimme todella nﺣ۳hdﺣ۳ tﺣ۳mﺣ۳n oire. 222 00:08:39,330 --> 00:08:46,200 Mutta voimme nﺣ۳hdﺣ۳ sen hieman nopeammin, maybe-- Katsotaan jos voimme keskeyttﺣ۳ﺣ۳. 223 00:08:46,200 --> 00:08:46,700 Tule. 224 00:08:46,700 --> 00:08:49,500 225 00:08:49,500 --> 00:08:51,331 Jopa valikot nﺣ۳kyvﺣ۳t hitaasti. 226 00:08:51,331 --> 00:08:51,830 Selvﺣ۳. 227 00:08:51,830 --> 00:08:54,270 Joten, me palaamme ettﺣ۳ ennen pitkﺣ۳ﺣ۳. 228 00:08:54,270 --> 00:08:56,320 Se on hyvﺣ۳ time-- jumalauta, pennut. 229 00:08:56,320 --> 00:08:58,280 >> Se on hyvﺣ۳ aika tehdﺣ۳ ilmoituksia. 230 00:08:58,280 --> 00:09:01,225 Joten, jos haluat ehkﺣ۳ harjoittaa YHack, 231 00:09:01,225 --> 00:09:03,600 joka on tapahtuman ollessa sponsoroida ystﺣ۳vﺣ۳mme Yalen. 232 00:09:03,600 --> 00:09:05,990 Ja, todellakin, jotkut kurssin TF Yalen ovat mukana tﺣ۳mﺣ۳n. 233 00:09:05,990 --> 00:09:08,610 YHack on kansainvﺣ۳linen hack--thon isﺣ۳nnﺣﭘi ja pidetﺣ۳ﺣ۳n 234 00:09:08,610 --> 00:09:12,395 Yalen, joka kokoaa yhteen 1500 samanhenkisten hakkerit ja mainokset kaikki 235 00:09:12,395 --> 00:09:13,120 maailman yli. 236 00:09:13,120 --> 00:09:14,610 Jos tﺣ۳mﺣ۳ kiinnostaa, katsomaan tﺣ۳ﺣ۳llﺣ۳. 237 00:09:14,610 --> 00:09:17,401 Jos tﺣ۳mﺣ۳ on liian lyhyesti nﺣ۳yttﺣﭘ, vilkaise nykypﺣ۳ivﺣ۳n dioja 238 00:09:17,401 --> 00:09:19,622 ettﺣ۳ URL yhack.org. 239 00:09:19,622 --> 00:09:21,080 Niin, myﺣﭘs muutaman nopean ilmoitukset. 240 00:09:21,080 --> 00:09:24,410 Joten, virallisesti kohdat alkaa ensi viikolla tﺣ۳ﺣ۳llﺣ۳ ja New Haven. 241 00:09:24,410 --> 00:09:27,660 Muista voit saada sﺣ۳hkﺣﭘpostiviestin myﺣﭘhemmin tﺣ۳nﺣ۳ viikonloppuna todennﺣ۳kﺣﭘisesti. 242 00:09:27,660 --> 00:09:29,390 Se kestﺣ۳ﺣ۳ kauan varten CS50 ﺡ۶, 243 00:09:29,390 --> 00:09:32,080 annettava kaikki ihmiset luokan ja kaikki liikkuvat. 244 00:09:32,080 --> 00:09:34,871 Ja kaikki Opetus Fellows " aikataulut ovat myﺣﭘs edelleen vakiinnuttamista, 245 00:09:34,871 --> 00:09:38,110 mutta pysy kuulolla sﺣ۳hkﺣﭘpostia ja jos tarve olla, voit uudelleen osassa on jﺣ۳lkeen. 246 00:09:38,110 --> 00:09:39,580 >> Study.cs50.net. 247 00:09:39,580 --> 00:09:43,280 Joten, vaikka olet jatkuvasti osallistuja klo kohdat, ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ lﺣ۳hes kaikki 248 00:09:43,280 --> 00:09:46,786 resursseja kﺣ۳ytﺣ۳mme kohdissa ovat julkisesti nﺣ۳htﺣ۳villﺣ۳ CS50 249 00:09:46,786 --> 00:09:48,460 Opiskella tﺣ۳tﺣ۳ URL-osoite tﺣ۳hﺣ۳n. 250 00:09:48,460 --> 00:09:51,630 Joten, jos ikinﺣ۳ haluat uudelleen tarkastelu materiaalia osassa, tai lukea eteenpﺣ۳in, 251 00:09:51,630 --> 00:09:54,170 tai et voi tehdﺣ۳ sitﺣ۳ noin viikon, ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ nﺣ۳yte dioja, 252 00:09:54,170 --> 00:09:58,210 ja ongelmat, ja mﺣ۳ﺣ۳ritelmﺣ۳t, ja lisﺣ۳ﺣ۳ on kaikki siellﺣ۳. 253 00:09:58,210 --> 00:10:00,645 >> Virka jatkaa tﺣ۳nﺣ۳ﺣ۳n, ja huomenna, ja keskiviikkona 254 00:10:00,645 --> 00:10:03,020 ja torstaina tarkista kurssin verkkosivuilla aikataulu. 255 00:10:03,020 --> 00:10:05,690 >> Ja myﺣﭘs, nyt kﺣ۳ynnistﺣ۳mﺣ۳ssﺣ۳ tﺣ۳nﺣ۳ﺣ۳n on CS50 keskustella. 256 00:10:05,690 --> 00:10:09,230 Joten, jos ja kun sinulla on kysymyksiﺣ۳ toisiaan tai kurssin henkilﺣﭘkunta, 257 00:10:09,230 --> 00:10:12,099 ja yleensﺣ۳ tyﺣﭘskentelevﺣ۳t joitakin ongelma asetettu, 258 00:10:12,099 --> 00:10:15,015 ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ et vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ tﺣ۳ytyy kﺣ۳ﺣ۳ntyﺣ۳ ihmisen Seuraava Voit. 259 00:10:15,015 --> 00:10:17,810 Jos ei ole ketﺣ۳ﺣ۳n siellﺣ۳, voit tavoittaa meidﺣ۳t ja luokkatoverit 260 00:10:17,810 --> 00:10:19,890 verkosta CS50 keskustella. 261 00:10:19,890 --> 00:10:22,600 Joten, tﺣ۳mﺣ۳ on keskustelu aluksella kurssin, 262 00:10:22,600 --> 00:10:24,550 ja ymmﺣ۳rtﺣ۳ﺣ۳, ettﺣ۳ tﺣ۳mﺣ۳ on ehkﺣ۳ paras 263 00:10:24,550 --> 00:10:28,480 paikka aloittaa, kun olet kysymyksiﺣ۳, kun tyﺣﭘajan ulkopuolella 264 00:10:28,480 --> 00:10:29,470 erityisesti. 265 00:10:29,470 --> 00:10:31,070 >> Lounaat kﺣ۳ynnistyy tﺣ۳llﺣ۳ viikolla myﺣﭘs. 266 00:10:31,070 --> 00:10:33,170 At Tulen ja jﺣ۳ﺣ۳n [Kuulumaton] New Haven. 267 00:10:33,170 --> 00:10:35,379 Tutustu kurssin verkkosivusto jotta RSVP. 268 00:10:35,379 --> 00:10:36,753 Saapumisjﺣ۳rjestyksessﺣ۳ palvella siitﺣ۳. 269 00:10:36,753 --> 00:10:39,380 Jos et saa tﺣ۳llﺣ۳ viikolla teemme nﺣ۳mﺣ۳ eniten perjantaisin 270 00:10:39,380 --> 00:10:40,400 voimassaoloaikana. 271 00:10:40,400 --> 00:10:41,830 >> OK, ja nyt sanaakaan luokittelu. 272 00:10:41,830 --> 00:10:44,690 Varsinkin kun astumme ongelma asettaa yhden, joka on tﺣ۳llﺣ۳ viikolla, 273 00:10:44,690 --> 00:10:46,670 ja ongelma asettaa kaksi ja sen jﺣ۳lkeen. 274 00:10:46,670 --> 00:10:51,680 Miten osaamme arvioida P sarjaa ja arvioidaan niiden laadun? 275 00:10:51,680 --> 00:10:55,560 Niin, se on neljﺣ۳ akselia kﺣ۳ytﺣ۳mme CS50, ja he ovat nﺣ۳mﺣ۳ neljﺣ۳ tﺣ۳ﺣ۳llﺣ۳. 276 00:10:55,560 --> 00:10:59,200 >> Laajuus, joka kaappaa on numeerinen perusteella, kuinka paljon P joukko 277 00:10:59,200 --> 00:10:59,860 sinﺣ۳ puuttua. 278 00:10:59,860 --> 00:11:02,890 Se vastaa karkeasti tyﺣﭘtﺣ۳, ja se on meidﺣ۳n tapa pyydystﺣ۳ﺣ۳ 279 00:11:02,890 --> 00:11:05,190 yritit puoli P asettaa kaikki P asetettu. 280 00:11:05,190 --> 00:11:08,860 Tﺣ۳mﺣ۳ on helppo saada tﺣ۳ydellinen pistemﺣ۳ﺣ۳rﺣ۳n jos et, todellakin, 281 00:11:08,860 --> 00:11:11,020 kokeilla kaikessa P asetettu. 282 00:11:11,020 --> 00:11:12,010 Joten pitﺣ۳ﺣ۳ se mielessﺣ۳. 283 00:11:12,010 --> 00:11:13,420 >> Oikeellisuus on juuri sitﺣ۳. 284 00:11:13,420 --> 00:11:17,760 Onko koodi tyﺣﭘtﺣ۳ mﺣ۳ﺣ۳rittely ja kuten esikunnat "nﺣ۳yteliuoksen 285 00:11:17,760 --> 00:11:19,730 viittaavat siihen, ettﺣ۳ koodi olisi itse asiassa toimi. 286 00:11:19,730 --> 00:11:23,260 Tarkista 50, jos et ole tavannut sitﺣ۳ vielﺣ۳, on P asettaa yhden erittely 287 00:11:23,260 --> 00:11:25,060 ja on yleensﺣ۳ antaa sinulle kyllﺣ۳ ﻗ€‹ﻗ€‹/ ei vastauksia 288 00:11:25,060 --> 00:11:26,518 siitﺣ۳, onko koodi on oikea. 289 00:11:26,518 --> 00:11:30,680 Ainakin siltﺣ۳ osin kuin olemme menossa arvioida sitﺣ۳ perustuvat testit 290 00:11:30,680 --> 00:11:32,430 ettﺣ۳ otamme kyseisessﺣ۳ ohjelmassa. 291 00:11:32,430 --> 00:11:33,850 >> Design on paljon subjektiivinen. 292 00:11:33,850 --> 00:11:35,994 Nﺣ۳in hyvin kirjoitettu on koodi. 293 00:11:35,994 --> 00:11:38,410 Ja tﺣ۳mﺣ۳ on jotain, saat paremmin ajan myﺣﭘtﺣ۳, 294 00:11:38,410 --> 00:11:41,201 ja se on jotain, ettﺣ۳ me will antaa lisﺣ۳ﺣ۳ laadullista palautetta. 295 00:11:41,201 --> 00:11:43,350 Ja suunnittelun voisin tarkoittaa ennen pitkﺣ۳ﺣ۳ sinua 296 00:11:43,350 --> 00:11:47,650 olla kiusaus joissakin P asettaa tehdﺣ۳ jotain loopingly, 297 00:11:47,650 --> 00:11:51,590 mutta on ehkﺣ۳ kolme tai neljﺣ۳, tai viisi sisﺣ۳kkﺣ۳isiﺣ۳ ollen silmukoita tai sisﺣ۳kkﺣ۳isiﺣ۳ samalla 298 00:11:51,590 --> 00:11:52,090 silmukoita. 299 00:11:52,090 --> 00:11:54,130 Ettﺣ۳ yleensﺣ۳ tulisi olla alkaa tehdﺣ۳ sinut punastumaan 300 00:11:54,130 --> 00:11:56,070 ja olisi yleisesti harkita huono suunnittelu. 301 00:11:56,070 --> 00:11:59,490 Ja voit alkaa nﺣ۳hdﺣ۳ luokassa ja ulos luokasta hyviﺣ۳ tapoja tehdﺣ۳ asioita, 302 00:11:59,490 --> 00:12:02,920 huono tapoja tehdﺣ۳ asioita, ehkﺣ۳ kaikki olla oikea, mutta ei 303 00:12:02,920 --> 00:12:04,304 vﺣ۳lttﺣ۳mﺣ۳ttﺣ۳ hyvin suunniteltu. 304 00:12:04,304 --> 00:12:05,220 Kuten esseen. 305 00:12:05,220 --> 00:12:08,100 Voit ehkﺣ۳ laittaa sanoja sivu, jotka ovat kieliopillisesti oikein, 306 00:12:08,100 --> 00:12:10,016 mutta essee tai thesis he ovat vain 307 00:12:10,016 --> 00:12:11,810 tﺣ۳ysin epﺣ۳johdonmukaisia ﻗ€‹ﻗ€‹tai unpersuasive. 308 00:12:11,810 --> 00:12:15,930 Ja niin ettﺣ۳ voisi olla analoginen kirjallinen maailma huono tai hyvﺣ۳ suunnittelu. 309 00:12:15,930 --> 00:12:18,490 >> Ja tyyli, sekin on melko subjektiivinen. 310 00:12:18,490 --> 00:12:20,060 Mutta ainakin odotamme johdonmukaisuus. 311 00:12:20,060 --> 00:12:21,480 Nﺣ۳in aika on koodi. 312 00:12:21,480 --> 00:12:22,840 Ovatko asiat hienosti sisennetty? 313 00:12:22,840 --> 00:12:26,600 Ovatko muuttujat hyvin nimeltﺣ۳ / Ovatko kaikki teidﺣ۳n suluissa ja aaltosulkeita 314 00:12:26,600 --> 00:12:27,920 linjassa kuin pitﺣ۳isi? 315 00:12:27,920 --> 00:12:31,490 Meillﺣ۳ on CS50 tyyli oppaan Harjoitus tulee kohta sinua. 316 00:12:31,490 --> 00:12:33,730 Ne mukavampaa ovat tervetuloa eksy ettﺣ۳ 317 00:12:33,730 --> 00:12:35,771 niin kauan kuin olet itse johdonmukaisia. 318 00:12:35,771 --> 00:12:38,020 Ja tﺣ۳mﺣ۳kin on opetus me vahvistaa jaksossa. 319 00:12:38,020 --> 00:12:40,990 Joten, jos kaikki tﺣ۳mﺣ۳ oli hieman nopea, ymmﺣ۳rtﺣ۳ﺣ۳ P asettaa ja osat 320 00:12:40,990 --> 00:12:42,900 menee enemmﺣ۳n syvyyttﺣ۳ ennen pitkﺣ۳ﺣ۳. 321 00:12:42,900 --> 00:12:45,490 >> Mutta yleensﺣ۳ olemme hyvin harvat kauhat CS50. 322 00:12:45,490 --> 00:12:48,170 Tulokset ovat yleensﺣ۳ asteikolla yhdestﺣ۳ kolmeen, tai yksi viiteen. 323 00:12:48,170 --> 00:12:50,836 Olemme literally-- enkﺣ۳ voi sanoa tﺣ۳mﺣ۳ tarpeeksi ensimmﺣ۳isellﺣ۳ viikolla. 324 00:12:50,836 --> 00:12:51,582 Kolme on hyvﺣ۳. 325 00:12:51,582 --> 00:12:54,290 Joten, vaikka kyllﺣ۳, kolme Viiden normaalisti, matemaattisesti, 326 00:12:54,290 --> 00:12:57,240 saattaa olla 60 prosenttia tai kuten D-miinus. 327 00:12:57,240 --> 00:12:58,840 Kolme on, itse asiassa, hyvﺣ۳. 328 00:12:58,840 --> 00:13:01,050 Ja itse asiassa, odotamme useimmat opiskelijat luokassa 329 00:13:01,050 --> 00:13:04,280 alkajaisiksi aikavﺣ۳lillﺣ۳ noin kaksittain, ja kolmosta, ja nelosta. 330 00:13:04,280 --> 00:13:05,510 Todennﺣ۳kﺣﭘisesti ei niin paljon viitosta. 331 00:13:05,510 --> 00:13:06,661 Ei liian monet niistﺣ۳. 332 00:13:06,661 --> 00:13:08,910 Mutta yleensﺣ۳ aloittaa ettﺣ۳ sweet spot kﺣ۳yrﺣ۳llﺣ۳ 333 00:13:08,910 --> 00:13:11,694 niin ettﺣ۳ ajan kuluessa, siellﺣ۳ on todella tilaa, 334 00:13:11,694 --> 00:13:13,360 ja mahdollisuuksia ylempi etenemistﺣ۳. 335 00:13:13,360 --> 00:13:15,810 Joten, ﺣ۳lﺣ۳ rinnastaa kolme 60%. 336 00:13:15,810 --> 00:13:17,410 Se on paljon enemmﺣ۳n abstrakteja kuin. 337 00:13:17,410 --> 00:13:20,160 Kaava, jolla laskemme laadut painotetaan seuraavasti. 338 00:13:20,160 --> 00:13:21,610 Oikeellisuus kannattaa eniten. 339 00:13:21,610 --> 00:13:23,010 Design on syytﺣ۳ hieman vﺣ۳hemmﺣ۳n. 340 00:13:23,010 --> 00:13:24,490 Tyyli on syytﺣ۳ hieman vﺣ۳hemmﺣ۳n. 341 00:13:24,490 --> 00:13:26,950 Ja tﺣ۳mﺣ۳ yleensﺣ۳ kaappaa aikaa 342 00:13:26,950 --> 00:13:29,800 ettﺣ۳ menee saada jokaisen Nﺣ۳iden akselien juuri oikea. 343 00:13:29,800 --> 00:13:31,810 Tyyli on erittﺣ۳in helppoa, pitﺣ۳isi olla erittﺣ۳in nopea, 344 00:13:31,810 --> 00:13:33,657 mutta se on helppo tapa saada laiska noin. 345 00:13:33,657 --> 00:13:35,490 Oikeellisuuden voi kestﺣ۳ﺣ۳ te suurimman osan ajasta. 346 00:13:35,490 --> 00:13:38,990 Jahtaa alas joitakin bug voimin ottaa ettﺣ۳ ylimﺣ۳ﺣ۳rﺣ۳inen tunti tai enemmﺣ۳n, 347 00:13:38,990 --> 00:13:41,737 ja niin, pisteytys lopulta kaappaa. 348 00:13:41,737 --> 00:13:43,070 Ja niin, nyt vakavampi sana. 349 00:13:43,070 --> 00:13:45,240 Koska CS50 on ero, parempaa 350 00:13:45,240 --> 00:13:47,440 tai pahempaa, olemisen ehkﺣ۳ paremmin tutustui 351 00:13:47,440 --> 00:13:50,065 liittyviﺣ۳ kysymyksiﺣ۳ akateemisen rehellisyys kuin useimmat muut kurssin. 352 00:13:50,065 --> 00:13:53,720 Ja todellakin, se on tietﺣ۳ﺣ۳kseni ettﺣ۳ lﺣ۳hetﺣ۳mme enemmﺣ۳n opiskelijoita, valitettavasti, 353 00:13:53,720 --> 00:13:56,690 kurinpitosyistﺣ۳ vuosittain seurauksena. Niin, 354 00:13:56,690 --> 00:13:59,040 edun mukaista koko paljastaminen, Puhutaanpa lyhyesti 355 00:13:59,040 --> 00:14:02,820 siitﺣ۳ mitﺣ۳ tapahtuu CS50, ja mitﺣ۳ voi tehdﺣ۳, ja mitﺣ۳ voit olla tietoinen. 356 00:14:02,820 --> 00:14:05,530 >> Niin, tﺣ۳ssﺣ۳ vuodesta 2007, jolloin Olen perinyt kurssi, 357 00:14:05,530 --> 00:14:07,870 on mﺣ۳ﺣ۳rﺣ۳ Ad hallituksen tapauksia. 358 00:14:07,870 --> 00:14:10,690 Ad Hallituksen on Harvardin kurinpidollisten elin, tai nyt Honor Counsel, 359 00:14:10,690 --> 00:14:13,790 johon tapaukset saatetaan kun opiskelijat tehdﺣ۳ jotain, ettﺣ۳ kurssin 360 00:14:13,790 --> 00:14:15,470 oppimﺣ۳ﺣ۳rﺣ۳ katsoo kohtuuton. 361 00:14:15,470 --> 00:14:17,220 Ei ole tosiasiallista tﺣ۳ﺣ۳llﺣ۳, sanoisin. 362 00:14:17,220 --> 00:14:19,530 Se vaihtelee yli vuotta, mutta yleensﺣ۳ 363 00:14:19,530 --> 00:14:22,262 Tﺣ۳mﺣ۳n on mﺣ۳ﺣ۳rﺣ۳ tapauksissa, joihin viitataan. 364 00:14:22,262 --> 00:14:23,970 Opiskelijoiden mﺣ۳ﺣ۳rﺣ۳ jotka ovat mukana? 365 00:14:23,970 --> 00:14:25,290 Sekin vaihtelee. 366 00:14:25,290 --> 00:14:27,930 Tyypillisesti, viime vuonna Esimerkiksi 29 opiskelijaa Harvardin 367 00:14:27,930 --> 00:14:29,740 olivat Ad astuivat, niin sanoakseni. 368 00:14:29,740 --> 00:14:32,670 29 heistﺣ۳ nykyiset opiskelijat, kaksi niistﺣ۳ ennen opiskelijoita, 369 00:14:32,670 --> 00:14:35,610 jotka olivat yhteistyﺣﭘssﺣ۳ jollakin harmillista tavalla. 370 00:14:35,610 --> 00:14:38,400 Ja sitten suhteen prosenttiosuus, se on yleensﺣ۳ noin 3% 371 00:14:38,400 --> 00:14:41,360 luokan ettﺣ۳ valitettavasti tekee tﺣ۳llaisia ﻗ€‹ﻗ€‹pﺣ۳ﺣ۳tﺣﭘksiﺣ۳. 372 00:14:41,360 --> 00:14:44,470 >> Joten, viime vuonna se oli 3,5% ja CS50 n ylioppilaskunnassa 373 00:14:44,470 --> 00:14:46,820 ettﺣ۳ oli Ad pysﺣ۳ytettyﺣ۳, niin sanoakseni. 374 00:14:46,820 --> 00:14:48,490 >> Joten, mitﺣ۳ tﺣ۳mﺣ۳ kaikki tarkoittaa? 375 00:14:48,490 --> 00:14:49,660 Ja mitﺣ۳ me itse tehdﺣ۳? 376 00:14:49,660 --> 00:14:52,930 >> Niin, tﺣ۳yden julkistamista, me aivan, kuten tietotekniikan tutkijoita, 377 00:14:52,930 --> 00:14:57,620 on ohjelmistotyﺣﭘkaluja kﺣ۳ytﺣﭘssﺣ۳mme ja se on erittﺣ۳in helppo meille, oikeudenmukaisuus, 378 00:14:57,620 --> 00:15:00,980 ettﺣ۳ muut luokkatoverit, jotka eivﺣ۳t ole ylittﺣ۳essﺣ۳ﺣ۳n nﺣ۳mﺣ۳ rivit ylittﺣ۳mﺣ۳ﺣ۳n vertailla 379 00:15:00,980 --> 00:15:04,570 joka toimittamisesta tﺣ۳nﺣ۳ vuonna vastaan ﻗ€‹ﻗ€‹joka esittﺣ۳misen viimeiset kahdeksan vuotta. 380 00:15:04,570 --> 00:15:05,445 Ohjelmisto tekee tﺣ۳mﺣ۳n. 381 00:15:05,445 --> 00:15:07,440 Ja lopulta se on ihmisten silmissﺣ۳, jotka pﺣ۳ﺣ۳ttﺣ۳vﺣ۳t 382 00:15:07,440 --> 00:15:11,410 vai ei viitata joitakin merkitystﺣ۳ asian ratkaisemiseksi, 383 00:15:11,410 --> 00:15:12,737 mutta ohjelmisto varmasti auttaa. 384 00:15:12,737 --> 00:15:15,820 Ja tﺣ۳mﺣ۳, suoraan sanottuna, on siksi mielestﺣ۳ni meillﺣ۳ on niin paljon in CS50. 385 00:15:15,820 --> 00:15:18,540 Se ei johdu CS50 opiskelijat tai CS opiskelijoille enemmﺣ۳n 386 00:15:18,540 --> 00:15:20,840 ovat yleensﺣ۳ yhtﺣ۳ﺣ۳n vﺣ۳hemmﺣ۳n rehellisiﺣ۳ kuin mikﺣ۳ﺣ۳n muu opiskelijoita, 387 00:15:20,840 --> 00:15:22,340 se on vain meillﺣ۳ Tyﺣﭘkalut ja tekniikat 388 00:15:22,340 --> 00:15:24,095 jonka kanssa tﺣ۳mﺣ۳ ensimmﺣ۳inen omille. 389 00:15:24,095 --> 00:15:25,960 >> Mutta me pitﺣ۳ﺣ۳ silmﺣ۳llﺣ۳ kaikki nﺣ۳mﺣ۳ asiat 390 00:15:25,960 --> 00:15:30,340 samoin, jﺣ۳lleen, etujen mukaista tunnustaa tyﺣﭘ, joka on liikkeelle 391 00:15:30,340 --> 00:15:32,397 osallistumistaan ﻗ€‹ﻗ€‹Super enemmistﺣﭘn luokan. 392 00:15:32,397 --> 00:15:34,230 Ja kurssin politiikka akateemisen rehellisyys, 393 00:15:34,230 --> 00:15:37,021 vaikka se on joukko kohtien pitkﺣ۳ joukko luoteja 394 00:15:37,021 --> 00:15:40,490 jotka ovat toivottavasti melko luettavissa, se todellakin pohjimmiltaan olla kohtuullinen. 395 00:15:40,490 --> 00:15:44,000 Ja paras nyrkkisﺣ۳ﺣ۳ntﺣﭘ ettﺣ۳ tarjoamme sisﺣ۳llﺣ۳ oppimﺣ۳ﺣ۳rﺣ۳n 396 00:15:44,000 --> 00:15:46,020 on tﺣ۳mﺣ۳, olemus kaikki tyﺣﭘ, ettﺣ۳ te 397 00:15:46,020 --> 00:15:47,850 toimitettava tﺣ۳mﺣ۳ kurssi on oma. 398 00:15:47,850 --> 00:15:51,510 Ja todellakin, lﺣ۳hes kaikki nﺣ۳mﺣ۳ tarkoitetuissa tapauksissa kurinpitotoimista 399 00:15:51,510 --> 00:15:55,640 se oli, koska joidenkin opiskelija myﺣﭘhﺣ۳ﺣ۳n yﺣﭘ tyypillisesti kﺣ۳ﺣ۳nsi hﺣ۳nen koodi 400 00:15:55,640 --> 00:15:58,130 yli suoranainen ja luokkatoveri, joka sitten hyvﺣ۳ksyi sen 401 00:15:58,130 --> 00:16:00,840 kokonaisuudessaan tai merkittﺣ۳vﺣ۳sti viipymﺣ۳ttﺣ۳. 402 00:16:00,840 --> 00:16:02,680 >> Mutta oikeasti, tﺣ۳mﺣ۳ on OK. 403 00:16:02,680 --> 00:16:04,684 Ja todellakin, toimistossa tuntia, varttamisoksat paperia 404 00:16:04,684 --> 00:16:07,850 olet jﺣ۳tetty jos tuli toimisto tuntia viime viikolla kannustaa niin paljon. 405 00:16:07,850 --> 00:16:09,710 Olet aivan tyytyvﺣ۳inen ja kannusti 406 00:16:09,710 --> 00:16:12,340 keskustella ongelma sarjaa luokkatovereiden kanssa. 407 00:16:12,340 --> 00:16:14,461 Auttaa toisiaan kompastelu. 408 00:16:14,461 --> 00:16:17,710 Mutta yleensﺣ۳ nyrkkisﺣ۳ﺣ۳ntﺣﭘ olisi olla tﺣ۳mﺣ۳, "kun pyytﺣ۳vﺣ۳t apua, 409 00:16:17,710 --> 00:16:20,412 voit nﺣ۳yttﺣ۳ﺣ۳ koodin muille, mutta et voi tarkastella heidﺣ۳n. " 410 00:16:20,412 --> 00:16:22,620 Joten, toisin sanoen, jos olen kamppailee joidenkin P sarja 411 00:16:22,620 --> 00:16:25,290 ja Istun siellﺣ۳ ruokasalissa, tai kirjastossa, 412 00:16:25,290 --> 00:16:28,470 tai luokkahuoneessa yrittﺣ۳ﺣ۳ lﺣﭘytﺣ۳ﺣ۳ vikaa, 413 00:16:28,470 --> 00:16:30,340 Voin varmasti nﺣ۳yttﺣ۳ﺣ۳ minun koodi tietokoneen nﺣ۳ytﺣﭘllﺣ۳ 414 00:16:30,340 --> 00:16:32,590 henkilﺣﭘlle istuu vieressﺣ۳ minulle, varmasti henkilﺣﭘstﺣﭘ, 415 00:16:32,590 --> 00:16:33,600 mutta myﺣﭘs luokkatoveri. 416 00:16:33,600 --> 00:16:36,580 Mutta jos liuos, joka Minun luokkatoveri tarjoaa on, oi, 417 00:16:36,580 --> 00:16:39,200 tﺣ۳ﺣ۳llﺣ۳ vain katsomaan mitﺣ۳ Tein, ettﺣ۳ ylittﺣ۳ﺣ۳ linjan. 418 00:16:39,200 --> 00:16:43,120 >> Ja uskaltaisin sanoa, ettﺣ۳ on yleensﺣ۳ kohtuullinen asia useimmille 419 00:16:43,120 --> 00:16:45,030 hyvin helposti paikalla linja. 420 00:16:45,030 --> 00:16:47,195 Ja niin, katso oppimﺣ۳ﺣ۳rﺣ۳ tarkemmin. 421 00:16:47,195 --> 00:16:49,070 Ja nyt yksi enemmﺣ۳n kiistanalaisia ﻗ€‹ﻗ€‹nﺣ۳kﺣﭘkohtia 422 00:16:49,070 --> 00:16:52,529 ja CS50 oppimﺣ۳ﺣ۳rﺣ۳n ettﺣ۳ Kuvittelin puhuisi lopuksi tﺣ۳ﺣ۳llﺣ۳ 423 00:16:52,529 --> 00:16:53,820 on ns pahoillani lauseke. 424 00:16:53,820 --> 00:16:55,340 Joten, tﺣ۳ssﺣ۳ on kaikki pienellﺣ۳ painettu. 425 00:16:55,340 --> 00:16:58,090 Mutta yleensﺣ۳ olemme nﺣ۳hneet viime 8 plus vuotta 426 00:16:58,090 --> 00:17:01,510 ettﺣ۳ todellakin, lﺣ۳hes kaikki CS50: n tapauksissa akateemisen epﺣ۳rehellisyydestﺣ۳ 427 00:17:01,510 --> 00:17:04,390 ovat olleet seurausta vain huono pﺣ۳ﺣ۳tﺣﭘksenteko myﺣﭘhﺣ۳ﺣ۳n yﺣﭘllﺣ۳. 428 00:17:04,390 --> 00:17:07,144 Stressin tuloksena, tulos puutteesta syﺣﭘminen, unen puute, 429 00:17:07,144 --> 00:17:09,560 liian monta P sarjaa, liikaa mﺣ۳ﺣ۳rﺣ۳ajat, liikaa sitoumuksia. 430 00:17:09,560 --> 00:17:13,520 Stressi muodostuuko 02:00, 03:00 AM, 04:00, jonka mﺣ۳ﺣ۳rﺣ۳aika hﺣ۳ﺣ۳mﺣﭘttﺣ۳ﺣ۳. 431 00:17:13,520 --> 00:17:17,020 Useimmat opiskelijat nﺣ۳issﺣ۳ tapauksissa juuri tehnyt huonoja pﺣ۳ﺣ۳tﺣﭘksiﺣ۳ 432 00:17:17,020 --> 00:17:20,619 ettﺣ۳ ne saattaa hyvinkin pahoillani Seuraavana aamuna jos ei minuuttia myﺣﭘhemmin, 433 00:17:20,619 --> 00:17:25,490 mutta vasta viime vuonna ei ollut varoventtiili, ettﺣ۳ nﺣ۳mﺣ۳ opiskelijat voisivat 434 00:17:25,490 --> 00:17:29,140 todella avata todella puuttua ongelma pﺣ۳ﺣ۳ pelkﺣ۳ﺣ۳mﺣ۳ttﺣ۳ 435 00:17:29,140 --> 00:17:30,850 kﺣ۳ynnistﺣ۳ﺣ۳ college kokonaan. 436 00:17:30,850 --> 00:17:33,260 >> Ja todellakin, otimme kﺣ۳yttﺣﭘﺣﭘn tﺣ۳mﺣ۳ pahoillani lauseke viime vuonna, 437 00:17:33,260 --> 00:17:35,970 joka sanoo, ettﺣ۳ jos sisﺣ۳llﺣ۳ 72 tuntia, kolme pﺣ۳ivﺣ۳ﺣ۳, 438 00:17:35,970 --> 00:17:37,970 rajan noin linjan mﺣ۳ﺣ۳rﺣ۳tty oppimﺣ۳ﺣ۳rﺣ۳n 439 00:17:37,970 --> 00:17:41,178 tulet eteenpﺣ۳in yhden kurssin pﺣ۳ﺣ۳t ja me jutella siitﺣ۳. 440 00:17:41,178 --> 00:17:43,720 On vielﺣ۳ joitakin tulos, toisin kuin on 441 00:17:43,720 --> 00:17:44,990 on ilmoitettu toisin. 442 00:17:44,990 --> 00:17:49,190 On vielﺣ۳ tulosta, joka on kannekelpoinen kurssin, 443 00:17:49,190 --> 00:17:51,611 yleensﺣ۳ nollaaminen P sarja tai ottaa joitakin muita toimia, 444 00:17:51,611 --> 00:17:53,610 mutta me todellakin kﺣ۳sitellﺣ۳ sitﺣ۳ itse eikﺣ۳ 445 00:17:53,610 --> 00:17:58,460 saattaa sen suurempi olivat tulos voisi olla paljon ankarampi. 446 00:17:58,460 --> 00:18:01,810 Ja todellakin, jakaa mitﺣ۳ tapahtui viime vuonna kahdeksan vuotta, ja nyt 447 00:18:01,810 --> 00:18:04,950 yhdeksﺣ۳n vuotta opetuksen tﺣ۳mﺣ۳n kurssin ja sen jﺣ۳lkeen puuhastelun kanssa eri nupit, 448 00:18:04,950 --> 00:18:07,866 kﺣ۳ﺣ۳ntﺣ۳mﺣ۳llﺣ۳ eri valitsee viime useita vuosia akateemisen rehellisyys, 449 00:18:07,866 --> 00:18:11,920 ja nﺣ۳hdﺣ۳ kohden tiedot ilman selvﺣ۳ﺣ۳ vaikutus, vaikka puheiden nﺣ۳in, 450 00:18:11,920 --> 00:18:15,490 tﺣ۳mﺣ۳ oli kﺣ۳det alas paras asia olemme esitelleet pedagogisesti 451 00:18:15,490 --> 00:18:18,090 kahdeksassa vuodessa pitkin nﺣ۳mﺣ۳ rivit CS50. 452 00:18:18,090 --> 00:18:21,010 >> 19 opiskelijaa tuli eteen Tﺣ۳mﺣ۳n lausekkeen viime vuonna. 453 00:18:21,010 --> 00:18:23,389 Otimme ei kanne seitsemﺣ۳n niille opiskelijoille, 454 00:18:23,389 --> 00:18:25,430 mﺣ۳ﺣ۳ritetﺣ۳ﺣ۳n, ettﺣ۳ ne olivat tarpeettomasti huolissaan. 455 00:18:25,430 --> 00:18:27,304 Heillﺣ۳ oli ei, itse asiassa, ylittﺣ۳neet rajan, mutta se 456 00:18:27,304 --> 00:18:28,960 oli hyvﺣ۳ chat on kuitenkin. 457 00:18:28,960 --> 00:18:31,190 Me nollattu 11 tulokset ettﺣ۳ esitettiin. 458 00:18:31,190 --> 00:18:33,840 Ja yhdessﺣ۳ tapauksessa pyysimme opiskelija tehdﺣ۳ ongelman asettaa. 459 00:18:33,840 --> 00:18:36,370 Mutta enemmﺣ۳n pakottavia, rehellisesti, nﺣ۳mﺣ۳ 19 chatit, 460 00:18:36,370 --> 00:18:39,020 joka oli paljon enemmﺣ۳n kuin minﺣ۳ odotetaan, jokainen niistﺣ۳ 461 00:18:39,020 --> 00:18:41,370 10 minuuttia ehkﺣ۳ tunnin mittainen, toi myﺣﭘs 462 00:18:41,370 --> 00:18:44,920 esiin useita kysymyksiﺣ۳, jotka liittyivﺣ۳t familiaalinen asioita, ystﺣ۳vﺣ۳ kysymyksiﺣ۳, 463 00:18:44,920 --> 00:18:46,940 mielenterveysongelmista ettﺣ۳ me sitten mukana, 464 00:18:46,940 --> 00:18:50,200 kanssa opiskelijan siunaus, asukas dekaani, tai ystﺣ۳viﺣ۳, tai jokin muu numero 465 00:18:50,200 --> 00:18:51,450 tuen resursseja. 466 00:18:51,450 --> 00:18:54,454 Niin ettﺣ۳ tﺣ۳mﺣ۳ oli ehdottomasti yksi parhaista kﺣ۳yttﺣﭘtarkoituksia aikamme 467 00:18:54,454 --> 00:18:55,870 ja yksi parhaista toimia. 468 00:18:55,870 --> 00:18:58,870 >> Tﺣ۳mﺣ۳n sanoi, se ei ollut tulo mﺣ۳ﺣ۳rﺣ۳ havaitseminen 469 00:18:58,870 --> 00:19:00,909 akateemisen epﺣ۳rehellisyydestﺣ۳ yleisemmin. 470 00:19:00,909 --> 00:19:02,950 Ja uskallan sanoa, tﺣ۳mﺣ۳ osajoukko opiskelijoiden viime vuonna 471 00:19:02,950 --> 00:19:06,350 oli vﺣ۳estﺣﭘrakenteen ettﺣ۳ me aiemmin koskaan tunnistettu ennen 472 00:19:06,350 --> 00:19:08,140 ja ei ollut koskaan liittyvﺣ۳t ennen. 473 00:19:08,140 --> 00:19:10,020 Ja niin, nﺣ۳mﺣ۳ olivat ihana menestystarinoita 474 00:19:10,020 --> 00:19:13,390 vaikka ne ilmenivﺣ۳t vﺣ۳hemmﺣ۳n kuin optimaalinen olosuhteissa. 475 00:19:13,390 --> 00:19:15,640 Joten pitﺣ۳ﺣ۳ tﺣ۳mﺣ۳ mielessﺣ۳ kun teet, ehkﺣ۳, 476 00:19:15,640 --> 00:19:17,390 jotkut kﺣﭘyhﺣ۳t pﺣ۳ﺣ۳tﺣﭘs itse myﺣﭘhﺣ۳ﺣ۳n yﺣﭘllﺣ۳, 477 00:19:17,390 --> 00:19:20,151 ettﺣ۳ on kﺣ۳yttﺣ۳ﺣ۳ niin kauan kuten opiskelija tﺣ۳ssﺣ۳ tilanteessa 478 00:19:20,151 --> 00:19:23,400 omistavat ylﺣﭘs ja esittﺣ۳mﺣ۳ﺣ۳n jotta voimme on sellainen chat ja kﺣ۳sitellﺣ۳ sitﺣ۳ 479 00:19:23,400 --> 00:19:27,310 siten, ettﺣ۳ koulutus, ja sitten voimme laittaa sen taaksemme seuraavana pﺣ۳ivﺣ۳nﺣ۳. 480 00:19:27,310 --> 00:19:30,335 >> Joten pitemmittﺣ۳ puheitta, ota terﺣ۳n tﺣ۳mﺣ۳n keskustelun, 481 00:19:30,335 --> 00:19:35,080 syy pennut jopa IS vain murtaa jﺣ۳ﺣ۳n hetkeksi. 482 00:19:35,080 --> 00:19:39,560 Ja valitettavasti, he kaikki nukkua, mutta mitﺣ۳ piti tapahtua tﺣ۳ﺣ۳llﺣ۳ 483 00:19:39,560 --> 00:19:41,760 oli kaikki piti awe ja laji rentoutua 484 00:19:41,760 --> 00:19:43,910 jﺣ۳lkeen, ettﺣ۳ erittﺣ۳in raskas keskustelu. 485 00:19:43,910 --> 00:19:46,930 Mutta ilmeisesti Laitoin pennut nukkumaan. 486 00:19:46,930 --> 00:19:50,070 Mutta jos menet CS50: n verkkosivusto slash pentuja, 487 00:19:50,070 --> 00:19:51,610 voit katsella niitﺣ۳ koko pﺣ۳ivﺣ۳n. 488 00:19:51,610 --> 00:19:55,280 Erityisesti ehkﺣ۳ 02:00, tai 03:00 tai 04:00 yﺣﭘllﺣ۳ 489 00:19:55,280 --> 00:19:57,480 nﺣ۳hdﺣ۳ hieman stressin helpotus siellﺣ۳. 490 00:19:57,480 --> 00:19:58,805 Niin ettﺣ۳ on kauttaviiva pentuja. 491 00:19:58,805 --> 00:20:01,700 492 00:20:01,700 --> 00:20:02,200 Selvﺣ۳. 493 00:20:02,200 --> 00:20:03,020 Eikﺣﭘ se ollut hauskaa? 494 00:20:03,020 --> 00:20:04,200 OK. 495 00:20:04,200 --> 00:20:07,140 Niin, takaisin joitakin tietokoneen tiede, jos sallitte. 496 00:20:07,140 --> 00:20:10,600 >> Niin, muistaa, ettﺣ۳ viime kerralla aloimme katsot ei vain tﺣ۳rkein, joka 497 00:20:10,600 --> 00:20:13,930 oli oletustoiminto, kun Vihreﺣ۳ lippu napsautetaan vastaava, 498 00:20:13,930 --> 00:20:16,999 mutta me myﺣﭘs alkoi lyhyesti kirjallisesti joitakin omia toimintoja. 499 00:20:16,999 --> 00:20:20,040 Ja tﺣ۳hﺣ۳n mennessﺣ۳ yksikﺣ۳ﺣ۳n nﺣ۳istﺣ۳ toiminnoista ovat olleet erityisen suuria tai lihaisa. 500 00:20:20,040 --> 00:20:24,570 Saat noihin suurempi toiminnot luultavasti, P asettaa 2, P asettaa 3, 501 00:20:24,570 --> 00:20:26,410 ehdottomasti P setti 4 ja eteenpﺣ۳in. 502 00:20:26,410 --> 00:20:29,340 Juuri nyt useimmat ohjelmat, jos ei niitﺣ۳ kaikkia, varmasti P 503 00:20:29,340 --> 00:20:31,550 setti 1 voidaan tehdﺣ۳ kokonaan tﺣ۳rkein. 504 00:20:31,550 --> 00:20:33,810 Jos ohjelma on vain viisi riviﺣ۳, 10 riviﺣ۳, 505 00:20:33,810 --> 00:20:37,070 jopa 20 riviﺣ۳ pitkﺣ۳, tﺣ۳ydellisesti kohtuullinen kirjoittaa sitﺣ۳ 506 00:20:37,070 --> 00:20:40,930 kaikki tﺣ۳rkeimmﺣ۳t ja ei liikaa hankaloittaa koodia, mutta mitﺣ۳ teemme tﺣ۳nﺣ۳ﺣ۳n 507 00:20:40,930 --> 00:20:44,360 ja edelleen yrittﺣ۳ﺣ۳ myﺣﭘs kﺣ۳yttﺣﭘﺣﭘn joitakin hyviﺣ۳ suunnittelutekniikat 508 00:20:44,360 --> 00:20:48,660 niin ettﺣ۳ koodi saa enemmﺣ۳n monimutkainen ja koska ongelmat 509 00:20:48,660 --> 00:20:51,690 haluat ratkaista kovemmaksi ja mielenkiintoisempaa sinulla on, tavallaan, 510 00:20:51,690 --> 00:20:55,850 tyﺣﭘkaluja oman tyﺣﭘkalupakin, jonka kanssa suunnitella hyviﺣ۳ ratkaisuja nﺣ۳ihin. 511 00:20:55,850 --> 00:21:01,210 >> Niin, sallikaa vilkaista taaksepﺣ۳in tﺣ۳mﺣ۳ ohjelma minun viime viikolla, joka 512 00:21:01,210 --> 00:21:06,550 oli toiminnot nolla piste C. Ja huomata, ettﺣ۳ yksinkertaisesti, 513 00:21:06,550 --> 00:21:10,310 se nﺣ۳yttﺣ۳ﺣ۳ tﺣ۳ltﺣ۳ kahdella toiminnot, tﺣ۳rkein ja nimen. 514 00:21:10,310 --> 00:21:13,160 Ja ajattelu takaisin tai ehkﺣ۳ reverse engineering tﺣ۳nﺣ۳ﺣ۳n, 515 00:21:13,160 --> 00:21:16,880 mikﺣ۳ oli motivaatio kﺣ۳yttﺣﭘﺣﭘn toiminto linjassa 28 nimeltﺣ۳ﺣ۳n, 516 00:21:16,880 --> 00:21:18,180 Tulosta nimi? 517 00:21:18,180 --> 00:21:21,745 Tai mikﺣ۳ oli tﺣ۳mﺣ۳ esimerkki vuonna ehtojen periaate tai take away, 518 00:21:21,745 --> 00:21:22,605 Jos haluat. 519 00:21:22,605 --> 00:21:26,560 520 00:21:26,560 --> 00:21:27,300 Jotkut sivuﺣ۳ﺣ۳niﺣ۳. 521 00:21:27,300 --> 00:21:28,830 Mitﺣ۳? 522 00:21:28,830 --> 00:21:32,210 >> Joo niin toiminnallisten hajoaminen on sellainen hieno tapa sanoa, 523 00:21:32,210 --> 00:21:34,690 hajota ohjelma osiinsa 524 00:21:34,690 --> 00:21:37,530 ja sitten kﺣ۳yttﺣ۳ﺣ۳ ne osat koota koko. 525 00:21:37,530 --> 00:21:39,620 Niin, sekin on vain sellainen suupala jo, 526 00:21:39,620 --> 00:21:42,050 mutta tﺣ۳mﺣ۳ on ehkﺣ۳ vielﺣ۳ parempaa esimerkkiﺣ۳ jotain 527 00:21:42,050 --> 00:21:43,081 soitti juuri abstraktio. 528 00:21:43,081 --> 00:21:43,580 Oikea? 529 00:21:43,580 --> 00:21:46,950 Abstraktio tulee olemaan yksi ja toistuvia teemoja CS50 530 00:21:46,950 --> 00:21:49,085 ja myﺣﭘs tietojenkﺣ۳sittelytiede yleisemmin koska se on 531 00:21:49,085 --> 00:21:53,060 tekniikka, jolla voit ratkaista ongelmia tehokkaammin, koska olet 532 00:21:53,060 --> 00:21:56,807 voi kirjoittaa ratkaisuja enemmﺣ۳n intuitiivisesti ja tavalla, joka skaalaa 533 00:21:56,807 --> 00:21:58,390 ja on ymmﺣ۳rrettﺣ۳vﺣ۳ﺣ۳ muita ihmisiﺣ۳. 534 00:21:58,390 --> 00:21:59,860 Mitﺣ۳ tarkoitan tﺣ۳llﺣ۳? 535 00:21:59,860 --> 00:22:04,340 >> Niin, luultavasti se on paljon luettavissa katsomaan ohjelmaa kuten tﺣ۳mﺣ۳, 536 00:22:04,340 --> 00:22:05,990 Super lyhyt vaikka se on. 537 00:22:05,990 --> 00:22:10,050 Kun nﺣ۳et rivillﺣ۳ 22, ettﺣ۳ on olemassa toiminto nimeltﺣ۳ﺣ۳n, nimenselvennys. 538 00:22:10,050 --> 00:22:12,620 Tuo nimi yksin kertoo, mitﺣ۳ se tekee. 539 00:22:12,620 --> 00:22:15,780 Tﺣ۳mﺣ۳ toiminto ilmeisesti vie tulo vﺣ۳lillﺣ۳ sulkeissa, 540 00:22:15,780 --> 00:22:18,600 ja ilmeisesti tekee jotain, oletettavasti tulostaa nimi. 541 00:22:18,600 --> 00:22:20,880 Ja niin, vaikka me ehdottomasti voisi olla 542 00:22:20,880 --> 00:22:25,280 tehnyt sen, mitﺣ۳ teimme viikko sitten, joka oli ota tﺣ۳mﺣ۳ todellinen rivi koodia, 543 00:22:25,280 --> 00:22:28,710 pﺣ۳ﺣ۳stﺣ۳ eroon tﺣ۳stﺣ۳, ja saada eroon tﺣ۳stﺣ۳ kaikki yhdessﺣ۳, 544 00:22:28,710 --> 00:22:31,436 me tavallaan otetun pois kﺣ۳site tulostus nimi. 545 00:22:31,436 --> 00:22:33,060 En vﺣ۳litﺣ۳, jos kﺣ۳ytﺣ۳t tulostaa def. 546 00:22:33,060 --> 00:22:35,601 En vﺣ۳litﺣ۳, jos sinulla on prosenttia S ja kenoviiva N. Nﺣ۳mﺣ۳ 547 00:22:35,601 --> 00:22:37,270 ovat uskomattoman vaikeaselkoisia yksityiskohtia. 548 00:22:37,270 --> 00:22:40,090 Mitﺣ۳ en vﺣ۳litﺣ۳ kuin ohjelmoija tulostaa nimi. 549 00:22:40,090 --> 00:22:43,414 Ja niin, mikﺣ۳s sen parempi tapa tehdﺣ۳ se kuin kutsumalla toiminnon tulostaa nimi? 550 00:22:43,414 --> 00:22:46,330 Ja niin, ettﺣ۳ oli yksi motiivit tekemiseen jotain tﺣ۳llaista. 551 00:22:46,330 --> 00:22:50,370 Making koodi luettavampi, enemmﺣ۳n uudelleenkﺣ۳ytettﺣ۳viﺣ۳, ja myﺣﭘs itse kuvaileva. 552 00:22:50,370 --> 00:22:52,120 Nyt, katsomaan toista esimerkkiﺣ۳, 553 00:22:52,120 --> 00:22:56,220 joka oli toimintoja yksi, joka meillﺣ۳ oli tﺣ۳ﺣ۳llﺣ۳. 554 00:22:56,220 --> 00:23:00,367 >> Joten, tﺣ۳mﺣ۳ on ehkﺣ۳ vielﺣ۳ pakottavia koska tﺣ۳ssﺣ۳ tapauksessa, 555 00:23:00,367 --> 00:23:01,700 En halua vain saada int. 556 00:23:01,700 --> 00:23:03,320 Haluan saada positiivinen int. 557 00:23:03,320 --> 00:23:06,470 Ja se osoittautuu saada positiivinen int sinun tﺣ۳ytyy tehdﺣ۳ nippu legwork. 558 00:23:06,470 --> 00:23:06,969 Oikea? 559 00:23:06,969 --> 00:23:09,600 Se ei ole yksinkertainen yhden rivin soittaa kuten tulostaa nimi oli, 560 00:23:09,600 --> 00:23:11,480 joka on tosin vﺣ۳hemmﺣ۳n vakuuttava. 561 00:23:11,480 --> 00:23:16,000 >> Saada positiivinen int, logically-- minulle selaa takaisin alas piilottaa tﺣ۳mﺣ۳n. 562 00:23:16,000 --> 00:23:18,887 Mitﺣ۳ sinun pitﺣ۳ﺣ۳ tehdﺣ۳? 563 00:23:18,887 --> 00:23:20,720 Kuten kaikki tyﺣﭘkaluista on tﺣ۳llﺣ۳ hetkellﺣ۳ ovat 564 00:23:20,720 --> 00:23:24,440 asioita, kuten tulostaa def Standard Kirjasto ja myﺣﭘs CS50 kirjastosta 565 00:23:24,440 --> 00:23:26,990 olemme Get Int, ja Get Float, Hanki Pitkﺣ۳, Get String, 566 00:23:26,990 --> 00:23:29,260 mutta vain yksi, Germane, juuri nyt on saada Int. 567 00:23:29,260 --> 00:23:32,970 Joten, jos vain tyﺣﭘkalun olet teidﺣ۳n tyﺣﭘkalulaatikko on Get Int, 568 00:23:32,970 --> 00:23:35,505 Miten voimme edetﺣ۳ tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta se saada myﺣﭘnteisiﺣ۳ int? 569 00:23:35,505 --> 00:23:35,929 >> Yleisﺣﭘ: Luo loki ja tarkista onko tulo ettﺣ۳ he antoivat 570 00:23:35,929 --> 00:23:36,762 oli positiivinen tai ei. 571 00:23:36,762 --> 00:23:39,390 572 00:23:39,390 --> 00:23:40,640 >> SPEAKER 1: Perfect. 573 00:23:40,640 --> 00:23:41,200 Aivan. 574 00:23:41,200 --> 00:23:43,950 Toinen vﺣ۳line meillﺣ۳ on Toolbox alkaen viikon tai kaksi sitten 575 00:23:43,950 --> 00:23:45,419 on vain silmukkarakenteen. 576 00:23:45,419 --> 00:23:48,210 Ja niin, joo, jos kﺣ۳ytﺣ۳mme aikaa silmukka, tai tehdﺣ۳, kun silmukka, tai etualalle 577 00:23:48,210 --> 00:23:50,850 silmukka voisimme ehkﺣ۳ saada pois kanssa mitﺣ۳ﺣ۳n nﺣ۳istﺣ۳ jossain muodossa. 578 00:23:50,850 --> 00:23:55,140 Voimme toteuttaa kﺣ۳site get positiivinen int vain kﺣ۳yttﺣ۳mﺣ۳llﺣ۳ Get Int, 579 00:23:55,140 --> 00:23:57,830 ja sitten vain pitﺣ۳ﺣ۳ kutsuen sitﺣ۳ uudelleen ja pitﺣ۳ﺣ۳ kiusanneet kﺣ۳yttﺣ۳jﺣ۳ 580 00:23:57,830 --> 00:24:00,320 kunnes hﺣ۳n itse antaa meille mitﺣ۳ haluamme. 581 00:24:00,320 --> 00:24:03,260 >> Ja niin nyt, tﺣ۳mﺣ۳ abstraktio prosessin 582 00:24:03,260 --> 00:24:05,680 saada positiivinen int osaksi toiminto nimeltﺣ۳ﺣ۳n 583 00:24:05,680 --> 00:24:08,930 Get Positiivinen Int on hieman pakottavia koska katsokaa tﺣ۳tﺣ۳. 584 00:24:08,930 --> 00:24:10,990 Nﺣ۳mﺣ۳ ovat kuin 10 plus riviﺣ۳ koodia ettﺣ۳ 585 00:24:10,990 --> 00:24:15,090 ovat mukana saada positiivinen int, enkﺣ۳ vﺣ۳litﺣ۳ miten teet sen. 586 00:24:15,090 --> 00:24:17,850 Kaikki Vﺣ۳litﺣ۳n on, ettﺣ۳ te voi tehdﺣ۳ sen, ja niin olen 587 00:24:17,850 --> 00:24:21,660 piilottanut kaikki nﺣ۳mﺣ۳ tiedot takana toiminto nimeltﺣ۳ﺣ۳n Get Positiivinen int ettﺣ۳, 588 00:24:21,660 --> 00:24:23,430 todellakin, on tﺣ۳mﺣ۳ tehdﺣ۳, kun silmukka. 589 00:24:23,430 --> 00:24:27,660 >> Ja katso viime viikolla syntaksi siellﺣ۳, mutta se vain ilmoittaa N, 590 00:24:27,660 --> 00:24:29,800 ja se tulostaa ohje kﺣ۳yttﺣ۳jﺣ۳lle. 591 00:24:29,800 --> 00:24:33,330 Se kehottaa Get Int ja sitten se tarkistaa tﺣ۳mﺣ۳ ehto uudestaan, ja uudestaan, 592 00:24:33,330 --> 00:24:35,230 ja uudestaan, kunnes kﺣ۳yttﺣ۳jﺣ۳ tekee yhteistyﺣﭘtﺣ۳. 593 00:24:35,230 --> 00:24:38,000 >> Joten nyt, muutama jﺣ۳rki tarkastuksia. 594 00:24:38,000 --> 00:24:40,370 Niille ehkﺣ۳ tuttuja joitakin ohjelmointi, 595 00:24:40,370 --> 00:24:46,410 miksi on N ilmoitettu, miksi luon N ulkopuolella tehdﺣ۳, kun silmukka? 596 00:24:46,410 --> 00:24:50,370 Miksi se on verkossa 29 eikﺣ۳ on kuten 33 mm. 597 00:24:50,370 --> 00:24:53,529 >> Yleisﺣﭘ: Koska kun julistaa, ettﺣ۳ se ulkopuolella, se sellainen 598 00:24:53,529 --> 00:24:56,688 enemmﺣ۳n, suurempi scope-- 599 00:24:56,688 --> 00:24:58,146 >> SPEAKER 1: Hyvﺣ۳. 600 00:24:58,146 --> 00:24:59,604 >> Yleisﺣﭘ: --and jos julistaa se silmukan sisﺣ۳llﺣ۳, [kuulumaton] 601 00:24:59,604 --> 00:25:00,979 koska se ei tiedﺣ۳ siitﺣ۳. 602 00:25:00,979 --> 00:25:02,819 603 00:25:02,819 --> 00:25:03,610 SPEAKER 1: Aivan. 604 00:25:03,610 --> 00:25:06,330 Jos voin simplify-- se kysymys soveltamisalaa. 605 00:25:06,330 --> 00:25:11,530 Ja laajuus viittaa asiayhteydestﺣ۳, joka muuttuja on olemassa tai on kﺣ۳yttﺣﭘkelpoinen. 606 00:25:11,530 --> 00:25:15,050 Ja mukava nyrkkisﺣ۳ﺣ۳ntﺣﭘ on, ettﺣ۳ yleensﺣ۳ kun julistaa tai luoda 607 00:25:15,050 --> 00:25:21,642 muuttuja voit vain kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ sisﺣ۳llﺣ۳ lﺣ۳himmﺣ۳n kﺣ۳sittﺣ۳ﺣ۳ aaltosulkeiden. 608 00:25:21,642 --> 00:25:22,600 Mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa? 609 00:25:22,600 --> 00:25:26,551 Jos minﺣ۳ sen sijaan, kumoa tﺣ۳tﺣ۳ ja mennﺣ۳ jotain, joka tuntuu hieman yksinkertaisempi. 610 00:25:26,551 --> 00:25:27,050 Oikea? 611 00:25:27,050 --> 00:25:29,360 >> Line 32 vain nﺣ۳yttﺣ۳ﺣ۳ puhtaampaa minulle nyt. 612 00:25:29,360 --> 00:25:31,500 Teen molempia asioita kerran ja sitten mﺣ۳ﺣ۳rittﺣ۳mﺣ۳llﺣ۳ 613 00:25:31,500 --> 00:25:33,070 oikea kﺣ۳si vasempaan. 614 00:25:33,070 --> 00:25:35,180 Ongelma perustuu nyt ettﺣ۳ mﺣ۳ﺣ۳ritelmﺣ۳ soveltamisala 615 00:25:35,180 --> 00:25:41,130 on, ettﺣ۳ N voidaan kﺣ۳yttﺣ۳ﺣ۳ linjat 31 ja 32 sisﺣ۳llﺣ۳ tﺣ۳mﺣ۳n silmukan, 616 00:25:41,130 --> 00:25:45,100 mutta jos tﺣ۳mﺣ۳n mﺣ۳ﺣ۳ritelmﺣ۳n voi sitﺣ۳ ei voi kﺣ۳yttﺣ۳ﺣ۳? 617 00:25:45,100 --> 00:25:45,660 Linjassa mitﺣ۳? 618 00:25:45,660 --> 00:25:46,160 Joo. 619 00:25:46,160 --> 00:25:47,490 >> Yleisﺣﭘ: 35. 620 00:25:47,490 --> 00:25:49,180 >> SPEAKER 1: 35. 621 00:25:49,180 --> 00:25:50,480 Ehdottomasti ei 35. 622 00:25:50,480 --> 00:25:52,349 Ja myﺣﭘs missﺣ۳ muualla? 623 00:25:52,349 --> 00:25:52,890 Yleisﺣﭘ: 34. 624 00:25:52,890 --> 00:25:55,040 SPEAKER 1: Jopa 34 on ongelmallinen, koska se on 625 00:25:55,040 --> 00:25:56,450 ulkopuolella aaltosulkeiden. 626 00:25:56,450 --> 00:25:58,200 Ja niin itse asiassa, katsotaan mitﺣ۳ tapahtuu. 627 00:25:58,200 --> 00:25:58,700 Oikea? 628 00:25:58,700 --> 00:26:00,722 Tﺣ۳mﺣ۳ saattaa tuntua hieman intuitiivinen tai ehkﺣ۳ ei, 629 00:26:00,722 --> 00:26:02,680 mutta katsotaanpa mitﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on sanoa, milloin 630 00:26:02,680 --> 00:26:04,730 menemme tﺣ۳nﺣ۳ﺣ۳n lﺣ۳hde hakemistoon. 631 00:26:04,730 --> 00:26:08,950 Tee funktio yksi. 632 00:26:08,950 --> 00:26:11,231 Herranjumala. 633 00:26:11,231 --> 00:26:12,980 No, olen vihdoin valmis ettﺣ۳ muuten. 634 00:26:12,980 --> 00:26:14,030 Selvﺣ۳. 635 00:26:14,030 --> 00:26:15,510 Ja mikﺣ۳ on kysymys? 636 00:26:15,510 --> 00:26:17,430 Erittﺣ۳in mystistﺣ۳ katsomaan. 637 00:26:17,430 --> 00:26:19,570 Mutta tﺣ۳ssﺣ۳ mitﺣ۳ minﺣ۳ typed-- tehdﺣ۳ toiminto yksi. 638 00:26:19,570 --> 00:26:21,640 Tﺣ۳ssﺣ۳ mitﺣ۳ tehdﺣ۳ aiheuttama, joka on itse asiassa 639 00:26:21,640 --> 00:26:23,705 kﺣ۳yttﺣ۳en kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ kalahtaa joitakin nﺣ۳istﺣ۳ lippuja 640 00:26:23,705 --> 00:26:25,080 ettﺣ۳ nﺣ۳emme jﺣ۳lleen ennen pitkﺣ۳ﺣ۳. 641 00:26:25,080 --> 00:26:26,829 Ja vielﺣ۳, aina etsiﺣ۳ ensimmﺣ۳isessﺣ۳ virhe, 642 00:26:26,829 --> 00:26:30,540 koska se saattaa vain olla CSS merkityksetﺣﭘn vaikutus muilla radoilla. 643 00:26:30,540 --> 00:26:34,410 >> Joten mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa, ettﺣ۳ ongelma on funktio 1.c. 644 00:26:34,410 --> 00:26:36,890 Se on verkossa 32. 645 00:26:36,890 --> 00:26:39,712 Ja se on palstalla, tai merkki, 13. 646 00:26:39,712 --> 00:26:42,670 Joten kun tekstieditori, joka auttaa tunnistamaan missﺣ۳ asian kﺣ۳sittely on. 647 00:26:42,670 --> 00:26:47,079 Jos siis siirry ylﺣﭘs, mikﺣ۳ on linja 32? 648 00:26:47,079 --> 00:26:49,120 Se on todellakin tﺣ۳mﺣ۳ joka on jo korostanut 649 00:26:49,120 --> 00:26:50,607 oikea here-- kﺣ۳yttﺣ۳mﺣ۳tﺣﭘn muuttujan n. 650 00:26:50,607 --> 00:26:51,440 Mutta se ei ole kﺣ۳yttﺣ۳mﺣ۳ttﺣﭘmiﺣ۳. 651 00:26:51,440 --> 00:26:52,320 Kﺣ۳ytﺣ۳n sitﺣ۳. 652 00:26:52,320 --> 00:26:56,110 Mutta kﺣ۳ﺣ۳ntﺣ۳jﺣ۳n sekava, koska se on olemassa vain sisﺣ۳lle nﺣ۳in laaja. 653 00:26:56,110 --> 00:26:57,727 Ja niin en voi kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ tﺣ۳ssﺣ۳. 654 00:26:57,727 --> 00:26:58,560 En voi kﺣ۳yttﺣ۳ﺣ۳ sitﺣ۳ tﺣ۳ssﺣ۳. 655 00:26:58,560 --> 00:27:01,320 Ja kﺣ۳ﺣ۳ntﺣ۳jﺣ۳, siksi, ei edes vﺣ۳litﺣ۳ siitﺣ۳, ettﺣ۳ yritﺣ۳n. 656 00:27:01,320 --> 00:27:03,940 Se nﺣ۳yttﺣ۳ﺣ۳ olevan kﺣ۳yttﺣ۳mﺣ۳ttﺣﭘmiﺣ۳ sen todellista laajuutta. 657 00:27:03,940 --> 00:27:08,854 >> Jotta voimme laajentaa tekemﺣ۳llﺣ۳ mitﺣ۳ aloitimme with-- int n. 658 00:27:08,854 --> 00:27:11,020 Ja vaikka se ei nﺣ۳ytﺣ۳ yhtﺣ۳ tyylikﺣ۳s, ehkﺣ۳, 659 00:27:11,020 --> 00:27:15,110 ja otamme ylimﺣ۳ﺣ۳rﺣ۳inen linja tﺣ۳ﺣ۳llﺣ۳, nyt se on laajuudeltaan kaikkialla. 660 00:27:15,110 --> 00:27:15,970 Joten yritﺣ۳ uudelleen. 661 00:27:15,970 --> 00:27:19,040 Joten toiminto yksi. 662 00:27:19,040 --> 00:27:19,610 Kiva. 663 00:27:19,610 --> 00:27:23,370 Ja nyt jos minﺣ۳ jos kﺣ۳ytﺣ۳n toiminto yksi, katsotaanpa antaa sille negatiivinen 10, 664 00:27:23,370 --> 00:27:27,170 negatiivinen 1, 0, 1, ja se itse asiassa toimii. 665 00:27:27,170 --> 00:27:28,610 >> Joten on olemassa toinen ratkaisu tﺣ۳ﺣ۳llﺣ۳. 666 00:27:28,610 --> 00:27:29,280 Arvaa mitﺣ۳? 667 00:27:29,280 --> 00:27:31,230 Mitﺣ۳ jos minﺣ۳ todella olen paini tﺣ۳mﺣ۳n? 668 00:27:31,230 --> 00:27:33,140 En tiedﺣ۳ missﺣ۳ n on tarkoitus mennﺣ۳. 669 00:27:33,140 --> 00:27:33,723 Arvaa mitﺣ۳? 670 00:27:33,723 --> 00:27:39,220 Olen juuri menossa laittaa kaiken tapa ylﺣ۳reunassa minun tiedosto tﺣ۳stﺣ۳. 671 00:27:39,220 --> 00:27:42,835 Mitﺣ۳ tﺣ۳mﺣ۳ tehdﺣ۳, luulet? 672 00:27:42,835 --> 00:27:43,335 Joo? 673 00:27:43,335 --> 00:27:44,251 >> Yleisﺣﭘ: [ﺣ۳ﺣ۳netﺣﭘn]. 674 00:27:44,251 --> 00:27:47,964 675 00:27:47,964 --> 00:27:48,630 SPEAKER 1: Joo. 676 00:27:48,630 --> 00:27:50,560 Joten olen tehnyt maailmanlaajuisia, niin sanoakseni. 677 00:27:50,560 --> 00:27:54,430 Jos sinulla on muuttuja, joka on ulkopuolella kaikki toiminnot on sallittua, 678 00:27:54,430 --> 00:27:58,780 ja koodi olisi koottava, ja n on nyt saatavilla paitsi get 679 00:27:58,780 --> 00:28:02,490 positiivinen int, mutta myﺣﭘs main-- joka on hieman huolestuttava, koska siellﺣ۳ 680 00:28:02,490 --> 00:28:04,864 jo n main, joten lisﺣ۳ﺣ۳ siitﺣ۳, ettﺣ۳ vain moment-- 681 00:28:04,864 --> 00:28:06,530 mutta tﺣ۳mﺣ۳ pidettﺣ۳isiin huono suunnittelu. 682 00:28:06,530 --> 00:28:06,910 Selvﺣ۳. 683 00:28:06,910 --> 00:28:08,570 Jos sinulla on turvauduttava jotain, OH, minﺣ۳ 684 00:28:08,570 --> 00:28:10,125 vain laittaa sen tﺣ۳nne, koska koodi nﺣ۳yttﺣ۳ﺣ۳ koota 685 00:28:10,125 --> 00:28:12,180 ei yleensﺣ۳ ole paras kﺣ۳ytﺣ۳ntﺣﭘ. 686 00:28:12,180 --> 00:28:14,590 Pikemminkin haluat valita kapein mahdollinen soveltamisala 687 00:28:14,590 --> 00:28:18,720 sinun muuttujat, mikﺣ۳ merkitsisi menossa meidﺣ۳n alkuperﺣ۳isen suunnitelman, joka 688 00:28:18,720 --> 00:28:19,920 on tﺣ۳ﺣ۳llﺣ۳. 689 00:28:19,920 --> 00:28:24,400 >> Nyt kun sivuun, jos et ole samoin nimettyjﺣ۳ muuttuja tﺣ۳ﺣ۳llﺣ۳, 690 00:28:24,400 --> 00:28:27,750 Muuten C huolehtisi this-- vaikka tﺣ۳mﺣ۳ ei tapahdu liian often-- 691 00:28:27,750 --> 00:28:30,150 on se, ettﺣ۳ tﺣ۳mﺣ۳ on edelleen tﺣ۳ydellisesti hienosti tﺣ۳ﺣ۳llﺣ۳. 692 00:28:30,150 --> 00:28:35,000 Mutta tﺣ۳mﺣ۳ mﺣ۳ﺣ۳ritelmﺣ۳ n mukaisesti 22 tulee varjo maailmanlaajuinen. 693 00:28:35,000 --> 00:28:38,190 Joten tﺣ۳mﺣ۳ toimii sisﺣ۳llﺣ۳ tﺣ۳rkeimmﺣ۳t, ja maailmanlaajuinen 694 00:28:38,190 --> 00:28:41,670 todella sovelletaan, kun olet saada positiivinen int Mutta siitﺣ۳ lisﺣ۳ﺣ۳ 695 00:28:41,670 --> 00:28:43,890 toisenkin kerran, mutta vain niille utelias. 696 00:28:43,890 --> 00:28:45,970 >> Niin lyhyt, me korjata tﺣ۳ﺣ۳llﺣ۳. 697 00:28:45,970 --> 00:28:49,220 Nyt kiusaavat erilleen kaksi muuta kappaletta ennen kuin voimme tarkastella viimeisen rivin koodia 698 00:28:49,220 --> 00:28:50,170 tﺣ۳ssﺣ۳ ohjelmassa. 699 00:28:50,170 --> 00:28:52,170 Saada positiivinen int. 700 00:28:52,170 --> 00:28:54,450 Vasemmalla puolella sen sana on sana int. 701 00:28:54,450 --> 00:28:56,860 Mitﺣ۳ tﺣ۳mﺣ۳ merkitsee luulet? 702 00:28:56,860 --> 00:28:58,900 Tﺣ۳hﺣ۳n mennessﺣ۳ olemme enimmﺣ۳kseen nﺣ۳hneet mitﺣ۳tﺣﭘn. 703 00:28:58,900 --> 00:28:59,400 Joo? 704 00:28:59,400 --> 00:29:01,810 >> Yleisﺣﭘ: Se tyyppi muuttuja ettﺣ۳ olet kysyﺣ۳. 705 00:29:01,810 --> 00:29:04,550 >> SPEAKER 1: Joo Se tyyppi, haluan sano muuttuja, mutta arvon tyyppi 706 00:29:04,550 --> 00:29:05,990 ettﺣ۳ pyydﺣ۳n takaisin. 707 00:29:05,990 --> 00:29:08,070 Ja todellakin, se on intuitiivinen tﺣ۳ﺣ۳llﺣ۳, toivottavasti. 708 00:29:08,070 --> 00:29:08,200 Oikea? 709 00:29:08,200 --> 00:29:10,250 Jos haluat saada positiivinen int, mitﺣ۳ se on sinun 710 00:29:10,250 --> 00:29:12,920 haluavat function-- kuten meidﺣ۳n vapaaehtoiset viime viikolla 711 00:29:12,920 --> 00:29:15,720 kﺣ۳si takaisin pala paperia int sitﺣ۳? 712 00:29:15,720 --> 00:29:19,190 Ja niin olemme tﺣ۳smensi, ettﺣ۳ ns palautuva tﺣ۳mﺣ۳n toiminnon 713 00:29:19,190 --> 00:29:20,450 on saada positiivinen int. 714 00:29:20,450 --> 00:29:22,990 Jos emme halua sen palata mitﺣ۳ﺣ۳n, sanot mitﺣ۳tﺣﭘn. 715 00:29:22,990 --> 00:29:25,270 Jos haluat palata merkkijono, sanot merkkijono. 716 00:29:25,270 --> 00:29:27,310 Jos haluat palata kellua, sanot kellua. 717 00:29:27,310 --> 00:29:30,440 Mutta ainoa, joka koskee tﺣ۳ﺣ۳llﺣ۳ loogisesti, koska olen kﺣ۳yttﺣ۳en GET int, 718 00:29:30,440 --> 00:29:34,130 vaikka olen sen rajaaminen positiivisia arvoja, on palata int. 719 00:29:34,130 --> 00:29:38,380 >> Joten pﺣ۳invastoin, mitﺣ۳ se tarkoittaa ettﺣ۳ siellﺣ۳ on mitﺣ۳tﺣﭘn suluissa? 720 00:29:38,380 --> 00:29:40,130 Mitﺣ۳ suluissa yleensﺣ۳ mﺣ۳ﺣ۳ritellﺣ۳? 721 00:29:40,130 --> 00:29:40,588 Joo? 722 00:29:40,588 --> 00:29:42,880 >> Yleisﺣﭘ: Se tarkoittaa funktion ei oikeastaan ﻗ€‹ﻗ€‹saada se. 723 00:29:42,880 --> 00:29:44,650 >> SPEAKER 1: Se tarkoittaa funktion ei todella saada mitﺣ۳? 724 00:29:44,650 --> 00:29:45,430 >> Yleisﺣﭘ: tulo. 725 00:29:45,430 --> 00:29:46,763 >> SPEAKER 1: tulo, mitﺣ۳ﺣ۳n. 726 00:29:46,763 --> 00:29:49,870 Joten todellakin, jos suluissa tﺣ۳ﺣ۳llﺣ۳ voit mﺣ۳ﺣ۳rittﺣ۳ﺣ۳ mitﺣ۳tﺣﭘn, 727 00:29:49,870 --> 00:29:51,650 ettﺣ۳ vain tarkoittaa, en halua mitﺣ۳ﺣ۳n panosta. 728 00:29:51,650 --> 00:29:53,269 Minﺣ۳ kﺣ۳sitellﺣ۳ ongelmaa itse. 729 00:29:53,269 --> 00:29:55,810 Ja todellakin, sinun ei tarvitse kertoa saada positiivinen int mitﺣ۳ﺣ۳n. 730 00:29:55,810 --> 00:29:59,630 Sanoit, saada positiivinen int, ja ettﺣ۳ toiminto sammuu ja tehdﺣ۳ sen asian. 731 00:29:59,630 --> 00:30:02,970 >> Mutta siellﺣ۳ on ollut pikku temppu olen pelanneet tﺣ۳ﺣ۳llﺣ۳ koko tﺣ۳mﺣ۳n ajan 732 00:30:02,970 --> 00:30:04,970 varmistaa tﺣ۳mﺣ۳n koodin kokoaa. 733 00:30:04,970 --> 00:30:09,620 Huomaa, ettﺣ۳ int-- saada myﺣﭘnteisiﺣ۳ int void-- on linjalla 27. 734 00:30:09,620 --> 00:30:14,530 Mutta jostain nﺣ۳ennﺣ۳isesti outo syy se on myﺣﭘs tﺣ۳ﺣ۳llﺣ۳ verkossa 16. 735 00:30:14,530 --> 00:30:18,530 Ja vain hyvﺣ۳ toimenpide minﺣ۳ toistan tﺣ۳mﺣ۳ niin se on tﺣ۳ysin sama. 736 00:30:18,530 --> 00:30:21,640 Ja olen sanonut prototyyppi pikkuinen-line kommentti. 737 00:30:21,640 --> 00:30:28,850 Mitﺣ۳ tapahtuu, jos poistan ettﺣ۳, ja nyt uusintana tehdﺣ۳ toiminto 1, kirjoita. 738 00:30:28,850 --> 00:30:29,350 Oho. 739 00:30:29,350 --> 00:30:32,527 740 00:30:32,527 --> 00:30:33,110 Hetkinen. 741 00:30:33,110 --> 00:30:34,764 Missﺣ۳ vﺣ۳lilehti? 742 00:30:34,764 --> 00:30:35,263 Hﺣ۳h? 743 00:30:35,263 --> 00:30:37,969 744 00:30:37,969 --> 00:30:39,620 Valmiustila. 745 00:30:39,620 --> 00:30:41,570 Tee toiminto 1. 746 00:30:41,570 --> 00:30:42,150 Siellﺣ۳ mennﺣ۳ﺣ۳n. 747 00:30:42,150 --> 00:30:42,310 OK. 748 00:30:42,310 --> 00:30:43,400 Ei tallentanut sitﺣ۳ kunnolla. 749 00:30:43,400 --> 00:30:45,220 Joten mielestﺣ۳ni siellﺣ۳ on vﺣ۳hﺣ۳n vika tﺣ۳ﺣ۳llﺣ۳ missﺣ۳ en ole 750 00:30:45,220 --> 00:30:46,636 nﺣ۳hdﺣ۳ vﺣ۳lilehti nimi tﺣ۳llﺣ۳ hetkellﺣ۳. 751 00:30:46,636 --> 00:30:47,940 Mitﺣ۳ on tekeillﺣ۳? 752 00:30:47,940 --> 00:30:52,210 Implisiittinen ilmoitus toiminto saada positiivinen int on pﺣ۳temﺣ۳tﺣﭘn C99. 753 00:30:52,210 --> 00:30:53,940 Niin sekava uudelleen. 754 00:30:53,940 --> 00:30:55,200 Joten mitﺣ۳ on tﺣ۳mﺣ۳ osoitus? 755 00:30:55,200 --> 00:30:57,287 No, kﺣ۳y ilmi, ettﺣ۳ C on melko typerﺣ۳ﺣ۳. 756 00:30:57,287 --> 00:30:59,912 No, se on ohjelmointi kieli, tai pikemminkin kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on. 757 00:30:59,912 --> 00:31:02,940 Se vain tietﺣ۳ﺣ۳ mitﺣ۳ sinulla on opetettu, ja se on vain 758 00:31:02,940 --> 00:31:05,640 menossa tietﺣ۳ﺣ۳ jotain jos opetti sitﺣ۳ ennen. 759 00:31:05,640 --> 00:31:07,960 Toisin sanoen, Tﺣ۳rkeimmﺣ۳t tﺣ۳llﺣ۳ hetkellﺣ۳, olen 760 00:31:07,960 --> 00:31:10,900 yrittﺣ۳ﺣ۳ soittaa toiminto nimeltﺣ۳ﺣ۳n saada positiivinen int. 761 00:31:10,900 --> 00:31:14,120 Mutta kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ ei aio huomata, ettﺣ۳ saada positiivinen int 762 00:31:14,120 --> 00:31:16,500 olemassa kunnes linja 26. 763 00:31:16,500 --> 00:31:21,360 Ja niin mitﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ tekee on vain virheitﺣ۳ heti kun se saa linja 17, 764 00:31:21,360 --> 00:31:23,700 sanomalla implisiittinen ilmoitus get positiivinen int, joka 765 00:31:23,700 --> 00:31:27,740 on vain hieno tapa sanoa, en tietﺣ۳ﺣ۳, mitﺣ۳ saat positiivinen Int on vielﺣ۳. 766 00:31:27,740 --> 00:31:31,240 >> Muut kielet, kuten Java ja Python ja Ruby voi katsoa eteenpﺣ۳in. 767 00:31:31,240 --> 00:31:32,240 C-ei. 768 00:31:32,240 --> 00:31:35,110 Ja niin miten me korjata tﺣ۳mﺣ۳ on yksi kahdella tavalla. 769 00:31:35,110 --> 00:31:40,160 Joko yksi, jos ongelma on, ettﺣ۳ saat positiivinen int ei ole ennen nﺣ۳hty, 770 00:31:40,160 --> 00:31:42,150 hyvin, haluan vain siirtﺣ۳ﺣ۳ sen alkuun. 771 00:31:42,150 --> 00:31:43,650 Se korjaa tﺣ۳mﺣ۳n ongelman. 772 00:31:43,650 --> 00:31:46,790 Mutta yleensﺣ۳ se on katsotaan parempi tekniikka 773 00:31:46,790 --> 00:31:50,220 laittaa pﺣ۳ﺣ۳tehtﺣ۳vﺣ۳ aivan alkuun niin, ettﺣ۳ ihmisen lukea koodi 774 00:31:50,220 --> 00:31:52,710 tietﺣ۳ﺣ۳, mitﺣ۳ ohjelma tekee, koska tﺣ۳rkein ei haudattu kaikki 775 00:31:52,710 --> 00:31:53,960 miten alaosassa tai keskellﺣ۳. 776 00:31:53,960 --> 00:31:55,130 Se on huipulla. 777 00:31:55,130 --> 00:31:56,410 Niin ettﺣ۳ ei tunnu ihanteellinen. 778 00:31:56,410 --> 00:31:58,326 Ja voit itse saada tilanteisiin, joissa 779 00:31:58,326 --> 00:32:00,820 jos yksi funktiokutsut toinen, joka kutsuu toista, 780 00:32:00,820 --> 00:32:04,630 voit pﺣ۳ﺣ۳stﺣ۳ ongelman, jossa ei voi mennﺣ۳ edellﺣ۳ muita, loogisesti. 781 00:32:04,630 --> 00:32:05,920 Se ei vain ole mahdollista. 782 00:32:05,920 --> 00:32:09,290 >> Ja niin tapa tyﺣﭘskennellﺣ۳ noin tﺣ۳mﺣ۳ on vain ottaa 783 00:32:09,290 --> 00:32:13,200 toiminto allekirjoitus, niin speak-- ensimmﺣ۳inen rivi, jossa se on declared-- 784 00:32:13,200 --> 00:32:16,850 ja kopioi, liitﺣ۳ se top, mutta ei kihara braces-- 785 00:32:16,850 --> 00:32:17,980 vain puolipisteellﺣ۳. 786 00:32:17,980 --> 00:32:20,840 Se on kuin pieni vihje mitﺣ۳ on tulossa. 787 00:32:20,840 --> 00:32:26,630 Ja itse asiassa kaikki tﺣ۳llﺣ۳ kertaa, kun ovat nﺣ۳hneet asioita, kuten tavallinen io.h 788 00:32:26,630 --> 00:32:33,040 ja cs50.h vastaavasti niissﺣ۳ piste h tiedostot ovat siellﺣ۳ muita prototyyppejﺣ۳. 789 00:32:33,040 --> 00:32:35,250 Ja nﺣ۳emme, ettﺣ۳ ennen pitkﺣ۳ﺣ۳. 790 00:32:35,250 --> 00:32:39,340 >> Niin lyhyt, kun on ohjelma tiedostoon, jossa on useita toimintoja 791 00:32:39,340 --> 00:32:42,300 paitsi tﺣ۳rkein, melkein aina halua julistaa niitﺣ۳ 792 00:32:42,300 --> 00:32:45,360 vain Poiketen ensimmﺣ۳isen rivi, jonka jﺣ۳lkeen puolipiste, 793 00:32:45,360 --> 00:32:48,410 huipulla tiedoston. 794 00:32:48,410 --> 00:32:50,460 Se oli paljon kerralla. 795 00:32:50,460 --> 00:32:53,130 Kysymyksiﺣ۳? 796 00:32:53,130 --> 00:32:53,920 Kysymyksiﺣ۳? 797 00:32:53,920 --> 00:32:54,530 Selvﺣ۳. 798 00:32:54,530 --> 00:32:59,760 >> Joten siirtyﺣ۳ sitten ettﺣ۳ jotain yskﺣ۳. 799 00:32:59,760 --> 00:33:00,260 Oi. 800 00:33:00,260 --> 00:33:00,570 Kuinka sopivaa. 801 00:33:00,570 --> 00:33:01,220 Selvﺣ۳. 802 00:33:01,220 --> 00:33:02,260 Yskﺣ۳. 803 00:33:02,260 --> 00:33:05,080 Joten tﺣ۳ssﺣ۳ on C ohjelman tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta 804 00:33:05,080 --> 00:33:07,560 teimme toinen pﺣ۳ivﺣ۳ Scratch ettﺣ۳ hyvin yksinkertaisesti vain 805 00:33:07,560 --> 00:33:08,691 sanoo yskﺣ۳, yskﺣ۳, yskﺣ۳. 806 00:33:08,691 --> 00:33:09,190 Selvﺣ۳. 807 00:33:09,190 --> 00:33:11,136 Ja joku sanoi muutama pﺣ۳ivﺣ۳ﺣ۳ sitten, ettﺣ۳ on olemassa 808 00:33:11,136 --> 00:33:12,760 tapa puhdistaa tﺣ۳mﺣ۳n koodin ylﺣﭘs jo. 809 00:33:12,760 --> 00:33:12,880 Selvﺣ۳? 810 00:33:12,880 --> 00:33:15,440 Heti olet kopiointi ja liittﺣ۳mﺣ۳llﺣ۳ luultavasti huono suunnittelu. 811 00:33:15,440 --> 00:33:18,725 Ainakin kerran saamme neljﺣ۳ tai viisi tai 20 yskﺣ۳ﺣ۳, se tuntuu huono kﺣ۳ytﺣ۳ntﺣﭘ. 812 00:33:18,725 --> 00:33:19,850 Me vain pitﺣ۳ﺣ۳ kopio, liittﺣ۳mﺣ۳llﺣ۳. 813 00:33:19,850 --> 00:33:22,213 Mikﺣ۳ on ilmeinen ratkaisu puhdistamiseen ohjelman ylﺣﭘs? 814 00:33:22,213 --> 00:33:23,120 >> Yleisﺣﭘ: Loop. 815 00:33:23,120 --> 00:33:23,350 >> SPEAKER 1: Joo. 816 00:33:23,350 --> 00:33:24,070 Joten kﺣ۳ytﺣ۳ silmukka. 817 00:33:24,070 --> 00:33:27,697 Ja voimme kﺣ۳yttﺣ۳ﺣ۳ for-silmukka, kun taas silmukka, mikﺣ۳ tahansa mﺣ۳ﺣ۳rﺣ۳ lﺣ۳hestymistapoja. 818 00:33:27,697 --> 00:33:29,780 Ja todellakin, sitﺣ۳hﺣ۳n teemme versiossa tﺣ۳stﺣ۳. 819 00:33:29,780 --> 00:33:32,250 Olen sen sijaan uusiksi sen versiossa yksi cough.c 820 00:33:32,250 --> 00:33:35,170 olla vain yskﺣ۳ sisﺣ۳llﺣ۳ varten silmukan. 821 00:33:35,170 --> 00:33:38,240 Hyvﺣ۳ on, mutta siellﺣ۳ nyt tilaisuus sellainen alku 822 00:33:38,240 --> 00:33:41,630 suunnitella tﺣ۳tﺣ۳ hieman enemmﺣ۳n kuin oppitunti opetimme hetki sitten, 823 00:33:41,630 --> 00:33:46,190 joka on this-- olettaa, ettﺣ۳ halusin luoda toiminto nimeltﺣ۳ﺣ۳n yskﺣ۳, 824 00:33:46,190 --> 00:33:49,730 Tarkastellaan vain hetken mitﺣ۳ se tulee nﺣ۳yttﺣ۳mﺣ۳ﺣ۳n. 825 00:33:49,730 --> 00:33:51,900 Joten jos haluan jotain yskﺣ۳, minun pitﺣ۳ﺣ۳ vain 826 00:33:51,900 --> 00:33:53,800 kﺣ۳yttﺣ۳ﺣ۳ Tulosta f sisﺣ۳llﺣ۳ toiminto. 827 00:33:53,800 --> 00:33:55,030 Ja todellakin olen. 828 00:33:55,030 --> 00:33:56,990 Ja itse asiassa, kaikki tﺣ۳mﺣ۳ aika, milloin olet 829 00:33:56,990 --> 00:33:59,000 tulostus jotain nﺣ۳yttﺣﭘ, ohjelmoija 830 00:33:59,000 --> 00:34:00,610 kutsuisi ettﺣ۳ sivuvaikutus. 831 00:34:00,610 --> 00:34:02,990 Se ei minua luovuttamalla takaisin joku arvo. 832 00:34:02,990 --> 00:34:06,170 Se minua ottamalla joitakin toimia jotka voivat olla visuaalisesti ilmeinen. 833 00:34:06,170 --> 00:34:10,672 Mutta tﺣ۳mﺣ۳ toiminto yskﺣ۳, se palaa mitﺣ۳ﺣ۳n perustuu sen ensimmﺣ۳isellﺣ۳ rivillﺣ۳? 834 00:34:10,672 --> 00:34:12,880 Ei, koska sen tuotto tyyppi on mitﺣ۳tﺣﭘn, mikﺣ۳ tarkoittaa vain sitﺣ۳, 835 00:34:12,880 --> 00:34:14,250 se ei ole luovuttamalla minulle mitﺣ۳ﺣ۳n takaisin. 836 00:34:14,250 --> 00:34:16,791 Se voisi tehdﺣ۳ jotain visuaalisesti, mutta se ei ole luovuttamalla minua 837 00:34:16,791 --> 00:34:18,639 takaisin paperille kuin viime viikolla. 838 00:34:18,639 --> 00:34:21,310 >> Onko se tarvitse syﺣﭘttﺣ۳ﺣ۳? 839 00:34:21,310 --> 00:34:21,810 Ei. 840 00:34:21,810 --> 00:34:23,134 Ja niin se on mitﺣ۳tﺣﭘn tﺣ۳ﺣ۳llﺣ۳kin. 841 00:34:23,134 --> 00:34:25,600 Joten sekin on erﺣ۳ﺣ۳nlainen yli-insinﺣﭘﺣﭘrin tﺣ۳mﺣ۳n ongelman. 842 00:34:25,600 --> 00:34:26,099 Oikea? 843 00:34:26,099 --> 00:34:28,820 Olen tehnyt ohjelman enemmﺣ۳n monimutkainen, enemmﺣ۳n riviﺣ۳ koodia, 844 00:34:28,820 --> 00:34:31,889 En ole tehnyt mitﺣ۳ﺣ۳n toimivampi, mutta tﺣ۳mﺣ۳ 845 00:34:31,889 --> 00:34:34,210 olisi ponnahduslauta, ehkﺣ۳, laajemman 846 00:34:34,210 --> 00:34:36,830 yhteydessﺣ۳ monimutkaisempi koodi. 847 00:34:36,830 --> 00:34:38,150 Mutta mitﺣ۳ tﺣ۳stﺣ۳? 848 00:34:38,150 --> 00:34:42,050 Mitﺣ۳ olen done-- juuri vilkaisi tﺣ۳mﺣ۳ katsomatta kommentti 849 00:34:42,050 --> 00:34:46,076 klo hyvin alkuun file-- mitﺣ۳ on Olen pohjimmiltaan tehnyt tﺣ۳ﺣ۳llﺣ۳ minun yskﺣ۳ 850 00:34:46,076 --> 00:34:47,409 tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanoa, joka on erilainen? 851 00:34:47,409 --> 00:34:48,327 Joo, takana? 852 00:34:48,327 --> 00:34:51,384 >> Yleisﺣﭘ: Tee se niin voit on luonteeltaan sammuttaa. 853 00:34:51,384 --> 00:34:52,050 SPEAKER 1: Joo. 854 00:34:52,050 --> 00:34:53,270 Joten tﺣ۳mﺣ۳ tuntuu tﺣ۳llainen mukava. 855 00:34:53,270 --> 00:34:53,389 Oikea? 856 00:34:53,389 --> 00:34:56,600 Se on kuin lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ ominaisuus teidﺣ۳n ohjelma tai toiminto, tﺣ۳ssﺣ۳ tapauksessa. 857 00:34:56,600 --> 00:34:57,830 Se ei palauta mitﺣ۳ﺣ۳n. 858 00:34:57,830 --> 00:35:00,538 Se voi olla visuaalinen sivuvaikutus, koska se soittaa tulosta f. 859 00:35:00,538 --> 00:35:02,800 Mutta nyt olen parametrized -toiminto, joka 860 00:35:02,800 --> 00:35:06,470 tarkoittaa Olen mﺣ۳ﺣ۳rﺣ۳ﺣ۳mﺣ۳ﺣ۳si ottanut panos tyyppiﺣ۳ int ja kutsua sitﺣ۳ n, 861 00:35:06,470 --> 00:35:08,510 mutta voisin kutsua sitﺣ۳ mitﺣ۳ haluan. 862 00:35:08,510 --> 00:35:11,550 Itse asiassa, se voi vain olla kertaa olla vielﺣ۳kin selvempi. 863 00:35:11,550 --> 00:35:13,310 Ja sitten voisin vain muuttaa tﺣ۳ﺣ۳llﺣ۳. 864 00:35:13,310 --> 00:35:16,450 Mutta kohta on, ettﺣ۳ tﺣ۳mﺣ۳ on, miten luoda funktion, joka vie panos. 865 00:35:16,450 --> 00:35:19,530 Ja jos muistaa flipping kautta ehkﺣ۳ verkossa yhdessﺣ۳ 866 00:35:19,530 --> 00:35:23,000 ja walk-through, Neljﺣ۳s ja viimeinen yskﺣ۳ esimerkiksi 867 00:35:23,000 --> 00:35:27,150 huomaat tﺣ۳ﺣ۳llﺣ۳ olen yleistynyt minun koodi further-- sellainen abstracted 868 00:35:27,150 --> 00:35:27,690 sitﺣ۳ edelleen. 869 00:35:27,690 --> 00:35:31,390 Kuten yskﺣ۳ ja aivastaa, molemmat ovat noin kuin sanoisi jotain tai tehdﺣ۳ 870 00:35:31,390 --> 00:35:32,330 jonkinlaista ﺣ۳ﺣ۳ntﺣ۳. 871 00:35:32,330 --> 00:35:34,725 Tallenna olisi vastaava Scratch lohko. 872 00:35:34,725 --> 00:35:37,350 Ja niin mitﺣ۳ tein tﺣ۳ssﺣ۳ versiossa, joka voimme vain vilkaista, 873 00:35:37,350 --> 00:35:43,170 on yskﺣ۳ on aivan kuin sanoisi, [yskﺣ۳], yskﺣ۳, ja sillﺣ۳ vﺣ۳lin, aivastelu on 874 00:35:43,170 --> 00:35:44,570 kuin sanoisi, [Achoo]. 875 00:35:44,570 --> 00:35:46,900 Ja niin olen yleistynyt tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanoa koskevasta 876 00:35:46,900 --> 00:35:48,970 nyt tﺣ۳ytﺣ۳ntﺣﭘﺣﭘn tﺣ۳mﺣ۳ yleinen toiminto, 877 00:35:48,970 --> 00:35:51,490 sanoa, mikﺣ۳ on mielenkiintoinen nykypﺣ۳ivﺣ۳n tarkoituksiin 878 00:35:51,490 --> 00:35:54,300 vain koska se edelleen ei ole palautuva. 879 00:35:54,300 --> 00:35:56,398 Mutta kuinka monta tuloa siinﺣ۳ on? 880 00:35:56,398 --> 00:35:56,981 Yleisﺣﭘ: Kaksi. 881 00:35:56,981 --> 00:35:57,430 SPEAKER 1: Kaksi. 882 00:35:57,430 --> 00:35:59,263 Joten jos haluat ottaa kaksi argumenttia, 883 00:35:59,263 --> 00:36:00,710 vain erottaa ne toisistaan ﻗ€‹ﻗ€‹pilkulla. 884 00:36:00,710 --> 00:36:03,110 Ja jos haluat sitten soittaa ettﺣ۳ toiminto, 885 00:36:03,110 --> 00:36:05,800 huomaa, ettﺣ۳ juuri soittaa vaikkapa lainaus, lainaus, 886 00:36:05,800 --> 00:36:09,090 ensimmﺣ۳istﺣ۳ vﺣ۳itettﺣ۳, yhteinen n, toisen vﺣ۳itteen. 887 00:36:09,090 --> 00:36:12,130 Joten jﺣ۳lleen, meillﺣ۳ vain on nyt rakennuspalikoita jotta voimme todella 888 00:36:12,130 --> 00:36:15,686 toteuttaa joitakin omia toimintoja. 889 00:36:15,686 --> 00:36:16,570 Selvﺣ۳. 890 00:36:16,570 --> 00:36:19,690 Kaikki kysymykset nﺣ۳istﺣ۳? 891 00:36:19,690 --> 00:36:22,400 >> Joten Nyt kuori takaisin kerros jos niin. 892 00:36:22,400 --> 00:36:24,840 Ja tavoite, lopulta, on ensi viikon Harjoitus 893 00:36:24,840 --> 00:36:27,710 tulee olla cryptogrophy-- taidetta muokkaamisella tietoja. 894 00:36:27,710 --> 00:36:30,640 Ja erityisesti, tiedot on sinulle salata tai purkaa 895 00:36:30,640 --> 00:36:31,605 tulee olemaan tekstiﺣ۳. 896 00:36:31,605 --> 00:36:33,980 Ja niin sellainen kutsuja kysymys tﺣ۳nﺣ۳ﺣ۳n kuin hyvin, 897 00:36:33,980 --> 00:36:38,480 mitﺣ۳ alla huppu tekstiﺣ۳ yli ASCII viikosta nolla, 898 00:36:38,480 --> 00:36:40,730 ja miten voimme todella alkaa manipuloida sitﺣ۳? 899 00:36:40,730 --> 00:36:43,070 Joten tﺣ۳ssﺣ۳ on Zamyla nimi. 900 00:36:43,070 --> 00:36:47,380 Ja teksti, joka voitaisiin syﺣﭘtetﺣ۳ﺣ۳n osaksi kuten get merkkijono. 901 00:36:47,380 --> 00:36:52,540 Ja alkaa nyt, kun nﺣ۳et string kuten this-- Z--M-Y-L-A-- 902 00:36:52,540 --> 00:36:56,550 alkaa miettiﺣ۳ sitﺣ۳ ikﺣ۳ﺣ۳n kuin jokainen nﺣ۳istﺣ۳ merkeistﺣ۳ on laatikko sen 903 00:36:56,550 --> 00:36:57,050 oma. 904 00:36:57,050 --> 00:36:59,460 Ja todellakin, viikon tai niin on aika, kukin nﺣ۳istﺣ۳ laatikoista 905 00:36:59,460 --> 00:37:04,280 tulee edustaa hyvin erityisesti lohko memory-- purema muistia. 906 00:37:04,280 --> 00:37:07,050 Joten jokainen nﺣ۳istﺣ۳ kirjeistﺣ۳, lopulta, edustaa 8 bittiﺣ۳. 907 00:37:07,050 --> 00:37:10,560 Ja me itse nﺣ۳hdﺣ۳ mitﺣ۳ tapahtuu on alla huppu minun tietokone. 908 00:37:10,560 --> 00:37:13,440 >> Mutta ei se riittﺣ۳ﺣ۳ vain katsomaan Zamyla 909 00:37:13,440 --> 00:37:17,520 tﺣ۳mﺣ۳n linssin kautta, jolloin kukin nﺣ۳mﺣ۳ kirjeet on omassa laatikossa. 910 00:37:17,520 --> 00:37:22,697 Ja kauniisti tarpeeksi C voimme kﺣ۳yttﺣ۳ﺣ۳ jokaista nﺣ۳istﺣ۳ laatikoista suoraan. 911 00:37:22,697 --> 00:37:25,530 Joten jos haluat saada ensimmﺣ۳inen kirjaimen nimensﺣ۳, erittﺣ۳in helppo C. 912 00:37:25,530 --> 00:37:28,410 Jos haluat saada viimeisen kirjain, Super helppo samoin 913 00:37:28,410 --> 00:37:30,240 pala uuden syntaksin. 914 00:37:30,240 --> 00:37:36,250 >> Joten aion mennﺣ۳ eteenpﺣ۳in osaksi CS50 IDE ja avata merkkijonon nolla piste C. 915 00:37:36,250 --> 00:37:40,270 Ja tﺣ۳ssﺣ۳ esimerkissﺣ۳ tﺣ۳ﺣ۳llﺣ۳, on pari uutta asioita tapahtuu. 916 00:37:40,270 --> 00:37:44,360 Joten ensimmﺣ۳inen rivi 19, olemme nﺣ۳hnyt tﺣ۳tﺣ۳ before-- get merkkijono. 917 00:37:44,360 --> 00:37:49,840 Aivan kuten nopea jﺣ۳rki tarkistaa, jos joku voisi tarjota jopa suullisesti 918 00:37:49,840 --> 00:37:52,662 Maallikon selitys mitﺣ۳ tapahtuu linjassa 19. 919 00:37:52,662 --> 00:37:55,370 Kuten juuri kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ tﺣ۳mﺣ۳ otetaan Englanti ettﺣ۳ kﺣ۳mppﺣ۳kaveri ei CS50 920 00:37:55,370 --> 00:37:56,416 voisi ymmﺣ۳rtﺣ۳ﺣ۳. 921 00:37:56,416 --> 00:37:56,916 Joo. 922 00:37:56,916 --> 00:37:59,749 >> Yleisﺣﭘ: Onko kﺣ۳yttﺣ۳jﺣ۳ syﺣﭘttﺣ۳ﺣ۳ merkkijono ja tallentaa sen muuttujaan s. 923 00:37:59,749 --> 00:38:01,934 924 00:38:01,934 --> 00:38:02,600 SPEAKER 1: Hyvﺣ۳. 925 00:38:02,600 --> 00:38:05,579 On kﺣ۳yttﺣ۳jﺣ۳ syﺣﭘttﺣ۳ﺣ۳ merkkijonon ja tallentaa sen muuttujaan s. 926 00:38:05,579 --> 00:38:06,120 Sepﺣ۳ hienoa. 927 00:38:06,120 --> 00:38:08,090 Joten oikeassa puoli, kutsumme GET merkkijono. 928 00:38:08,090 --> 00:38:10,340 Joka palauttaa arvo ettﺣ۳ ei saanut osoitettu 929 00:38:10,340 --> 00:38:14,230 oikealta puolelta vasemmanpuoleiseen puoli osaksi muuttuja nimeltﺣ۳ s, joka on 930 00:38:14,230 --> 00:38:15,950 suunniteltu sﺣ۳ilyttﺣ۳mﺣ۳ﺣ۳n merkkijono. 931 00:38:15,950 --> 00:38:16,800 Aivan. 932 00:38:16,800 --> 00:38:20,000 >> Joten nyt linja 22, per kommentti linjassa 21, 933 00:38:20,000 --> 00:38:22,780 ilmeisesti tulostaa merkkijonon yksi merkki per rivi. 934 00:38:22,780 --> 00:38:23,740 Mutta miten? 935 00:38:23,740 --> 00:38:27,040 Joten ensinnﺣ۳kin, me alustaa I 0. 936 00:38:27,040 --> 00:38:31,061 Ja sitten miten saamme loppuun Zamyla nimi? 937 00:38:31,061 --> 00:38:32,810 Hyvin, lopussa Zamyla nimi, voisin 938 00:38:32,810 --> 00:38:38,151 manuaalisesti kirjoita viimeinen merkki hﺣ۳nen nimensﺣ۳ jotenkin, tai mﺣ۳ﺣ۳rﺣ۳ﺣ۳ sitﺣ۳. 939 00:38:38,151 --> 00:38:38,650 Oikea? 940 00:38:38,650 --> 00:38:43,500 Jos palaamme here-- Z--M-L-- Y-L-A-- jotta voisin kirjoittaa. 941 00:38:43,500 --> 00:38:47,340 Mikﺣ۳ indeksi Zamyla viimeinen kirjain? 942 00:38:47,340 --> 00:38:52,517 Jos tﺣ۳mﺣ۳ on 0-- puhuu kuin programmer-- 0, 1, 2, 3, 4, 5, 943 00:38:52,517 --> 00:38:56,570 Olen heard-- niin todellakin viimeinen kirjain vuonna Zamyla nimi on kuudes, 944 00:38:56,570 --> 00:38:58,890 mutta jos laskemme 0, se tulee olemaan numero 5. 945 00:38:58,890 --> 00:39:01,320 Niin pitﺣ۳ﺣ۳ tﺣ۳mﺣ۳ mielessﺣ۳ tﺣ۳ﺣ۳llﺣ۳. 946 00:39:01,320 --> 00:39:04,929 >> On kﺣ۳ynyt ilmi, siellﺣ۳ on toiminto C kutsutaan strlen, ja takaisin seuraavana pﺣ۳ivﺣ۳nﺣ۳ 947 00:39:04,929 --> 00:39:06,720 ja tﺣ۳nﺣ۳ pﺣ۳ivﺣ۳nﺣ۳ vielﺣ۳, paljon ohjelmoijia 948 00:39:06,720 --> 00:39:09,524 valita synkronoida nimiﺣ۳ niiden toimintoja, jotka kuulostavat sanat 949 00:39:09,524 --> 00:39:10,440 he yrittﺣ۳vﺣ۳t sanoa. 950 00:39:10,440 --> 00:39:12,590 Joten strlen on merkkijonon pituus. 951 00:39:12,590 --> 00:39:18,168 Ja niin mitﺣ۳ olisi merkkijonon pituus S palata kun Zamyla on panos? 952 00:39:18,168 --> 00:39:19,569 >> Yleisﺣﭘ: Viisi. 953 00:39:19,569 --> 00:39:22,090 >> SPEAKER 1: Z--M-Y-L. Kuusi. 954 00:39:22,090 --> 00:39:22,590 Oikea? 955 00:39:22,590 --> 00:39:23,940 Mitﺣ۳ pituus Zamyla nimi? 956 00:39:23,940 --> 00:39:24,440 Oikea? 957 00:39:24,440 --> 00:39:26,240 Ja juuri todellisuudessa, kuusi kirjainta. 958 00:39:26,240 --> 00:39:26,740 Oikea? 959 00:39:26,740 --> 00:39:28,940 Ja niin mitﺣ۳ se tarkoittaa meidﺣ۳n silmukka? 960 00:39:28,940 --> 00:39:32,130 Aiomme mennﺣ۳ 0 jopa kuusi, joka 961 00:39:32,130 --> 00:39:33,650 aikoo antaa meille viisi toistojen. 962 00:39:33,650 --> 00:39:34,890 Mitﺣ۳ teemme jokaisen iteraation? 963 00:39:34,890 --> 00:39:36,870 No, prosenttia C, joku arvata toinen pﺣ۳ivﺣ۳, 964 00:39:36,870 --> 00:39:38,710 vﺣ۳lineet paikkamerkki mitﺣ۳? 965 00:39:38,710 --> 00:39:39,335 >> Yleisﺣﭘ: Char. 966 00:39:39,335 --> 00:39:40,293 SPEAKER 1: Vain merkkiﺣ۳. 967 00:39:40,293 --> 00:39:42,877 Joten yksi character-- ei useita merkkejﺣ۳ kuten merkkijonon. 968 00:39:42,877 --> 00:39:45,251 Ja sitten tﺣ۳ssﺣ۳ on uutta rataa ettﺣ۳ meillﺣ۳ tulostamalla. 969 00:39:45,251 --> 00:39:46,580 Ja sitten tﺣ۳ssﺣ۳ on uutta syntaksia. 970 00:39:46,580 --> 00:39:51,130 Jos haluat tulostaa i: nnen merkki merkkijonon S, niin sanoakseni, 971 00:39:51,130 --> 00:39:54,060 voit sanoa nimi merkkijono S, 972 00:39:54,060 --> 00:39:58,230 ja avaa hakasulkeen, ja suljetaan hakasulje, jossa i 973 00:39:58,230 --> 00:39:58,780 Keski. 974 00:39:58,780 --> 00:40:01,430 Ja se on tavallaan mukavaa, ettﺣ۳ se tavallaan nﺣ۳yttﺣ۳ﺣ۳ neliﺣﭘ 975 00:40:01,430 --> 00:40:06,210 aivan kuten neliﺣﭘitﺣ۳, jossa Zamyla n merkkiﺣ۳ lﺣﭘydy, ettﺣ۳ kuva siellﺣ۳. 976 00:40:06,210 --> 00:40:09,970 >> Joten jos olen itse suorittaa tﺣ۳mﺣ۳n Nyt, katsotaanpa, mitﺣ۳ tapahtuu. 977 00:40:09,970 --> 00:40:15,190 Tee merkkijono 0 piste slash merkkijono 0, ja sitten olen 978 00:40:15,190 --> 00:40:16,720 menossa kirjoittamaan Zamyla nimi. 979 00:40:16,720 --> 00:40:19,428 Ei ole nopea, koska en Kﺣ۳ytﺣ۳ tulosta f, mutta se kﺣ۳y hyvin. 980 00:40:19,428 --> 00:40:20,660 Tiedﺣ۳n vain, mitﺣ۳ tehdﺣ۳. 981 00:40:20,660 --> 00:40:23,240 Ja todellakin, se tulostaa Zamyla nimi, yksi kullekin riville. 982 00:40:23,240 --> 00:40:25,760 >> Nyt on hieman holtiton. 983 00:40:25,760 --> 00:40:28,461 Oletetaan, ettﺣ۳ en tiennyt noin strlen ja olen tajunnut, 984 00:40:28,461 --> 00:40:31,460 Hyvﺣ۳ on, kukaan tulee olla nimi suurempi kuin kuin 50 merkkiﺣ۳. 985 00:40:31,460 --> 00:40:36,360 Mennﺣ۳ﺣ۳n eteenpﺣ۳in ja kﺣ۳ﺣ۳ntﺣ۳ﺣ۳ tﺣ۳mﺣ۳ ja uusintana se, ja kirjoita Zamyla 986 00:40:36,360 --> 00:40:37,160 uudelleen. 987 00:40:37,160 --> 00:40:40,850 Loogisesti, mikﺣ۳ on ohjelma aikoo yrittﺣ۳ﺣ۳ tulostaa? 988 00:40:40,850 --> 00:40:49,545 Z--M-Y-L-sitten kuin 45 tuntematon tavua muistia. 989 00:40:49,545 --> 00:40:51,670 Ja todellakin, me tulen takaisin tﺣ۳tﺣ۳ ajatusta muistia. 990 00:40:51,670 --> 00:40:54,180 Mutta vain loogisesti, jos Zamyla nimi on tﺣ۳mﺣ۳ pitkﺣ۳, 991 00:40:54,180 --> 00:40:56,450 kohti kuva tﺣ۳ﺣ۳llﺣ۳, mitﺣ۳ sanomme 992 00:40:56,450 --> 00:40:59,810 on jatkaa tulostusta, pitﺣ۳ﺣ۳ tulostus, pitﺣ۳ﺣ۳ tulostus, jatkaa tulostusta, pitﺣ۳ﺣ۳ tulostus, 993 00:40:59,810 --> 00:41:03,781 aina 50. merkki, joka kuka tietﺣ۳ﺣ۳ mitﺣ۳ tulee tapahtumaan. 994 00:41:03,781 --> 00:41:05,030 Joten oikeastaan ﻗ€‹ﻗ€‹katsomaan. 995 00:41:05,030 --> 00:41:06,720 Katsotaanpa kirjoita Zamyla. 996 00:41:06,720 --> 00:41:07,250 Mielenkiintoinen. 997 00:41:07,250 --> 00:41:08,190 Meillﺣ۳ kﺣ۳vi tuuri. 998 00:41:08,190 --> 00:41:09,700 Vain koko joukko valkoinen tila. 999 00:41:09,700 --> 00:41:09,930 Oi. 1000 00:41:09,930 --> 00:41:11,120 On yksi funky merkki. 1001 00:41:11,120 --> 00:41:14,577 Se nﺣ۳yttﺣ۳ﺣ۳ ikﺣ۳ﺣ۳n kuin outo kysymys merkitse siellﺣ۳, mutta siellﺣ۳ on Zamyla nimi. 1002 00:41:14,577 --> 00:41:15,660 Mennﺣ۳ﺣ۳n todella holtiton. 1003 00:41:15,660 --> 00:41:20,000 Entﺣ۳ me tulostaa 500 palikat tuntematon? 1004 00:41:20,000 --> 00:41:24,380 Mennﺣ۳ﺣ۳n eteenpﺣ۳in ja tehdﺣ۳ tﺣ۳stﺣ۳ samoin ja sitten uusinnassa. 1005 00:41:24,380 --> 00:41:27,980 Ja nyt koko ruudun, koska meidﺣ۳n on nﺣ۳htﺣ۳vﺣ۳ enemmﺣ۳n tilaa. 1006 00:41:27,980 --> 00:41:30,460 Zamyla. 1007 00:41:30,460 --> 00:41:31,830 Onnekas jﺣ۳lleen. 1008 00:41:31,830 --> 00:41:33,070 >> Dare saamme enemmﺣ۳n holtitonta? 1009 00:41:33,070 --> 00:41:36,070 Mennﺣ۳ﺣ۳n enemmﺣ۳n piittaamaton. 1010 00:41:36,070 --> 00:41:39,350 50000 merkkiﺣ۳. 1011 00:41:39,350 --> 00:41:41,390 Tﺣ۳mﺣ۳ ei totisesti ole hyvﺣ۳ idea. 1012 00:41:41,390 --> 00:41:41,890 Selvﺣ۳. 1013 00:41:41,890 --> 00:41:42,990 Tee merkkijono 0. 1014 00:41:42,990 --> 00:41:44,720 Tﺣ۳mﺣ۳ on meidﺣ۳n viimeinen demo. 1015 00:41:44,720 --> 00:41:47,261 Zamyla. 1016 00:41:47,261 --> 00:41:48,632 Yﺣ۳k. 1017 00:41:48,632 --> 00:41:50,010 Yﺣ۳k. 1018 00:41:50,010 --> 00:41:50,680 OK. 1019 00:41:50,680 --> 00:41:54,407 Joten minun muisti on todella tyhjﺣ۳ juuri nyt, joka on itse asiassa erﺣ۳ﺣ۳nlainen kﺣ۳tevﺣ۳. 1020 00:41:54,407 --> 00:41:55,990 Yritﺣ۳n saada to-- kunnossa. 1021 00:41:55,990 --> 00:41:57,614 Ja nyt olen juuri menossa saada holtiton. 1022 00:41:57,614 --> 00:41:58,570 500,000. 1023 00:41:58,570 --> 00:42:03,860 Make-- let tﺣ۳yden ruudun. 1024 00:42:03,860 --> 00:42:04,990 Anna. 1025 00:42:04,990 --> 00:42:05,490 Zamyla. 1026 00:42:05,490 --> 00:42:12,050 1027 00:42:12,050 --> 00:42:13,390 Siellﺣ۳ mennﺣ۳ﺣ۳n. 1028 00:42:13,390 --> 00:42:15,610 Minulla ei ole aavistustakaan, mitﺣ۳ se on, mutta se kuulostaa pahalta. 1029 00:42:15,610 --> 00:42:16,110 Selvﺣ۳. 1030 00:42:16,110 --> 00:42:20,322 Ja itse asiassa pian, jos olet keskuudessa onnekas muutama virka 1031 00:42:20,322 --> 00:42:22,780 ja ongelma asettaa yhden, sinﺣ۳ saattaa hyvinkin kohdata tﺣ۳mﺣ۳n. 1032 00:42:22,780 --> 00:42:25,490 Segmentointi vika itse ei on hyvin mﺣ۳ﺣ۳ritelty merkitys. 1033 00:42:25,490 --> 00:42:28,450 Se tarkoittaa jonkinlainen virhe liittyvﺣ۳ segmentti muistia. 1034 00:42:28,450 --> 00:42:30,490 Ja maallikon termein, se tarkoittaa, ettﺣ۳ meidﺣ۳n koskettanut 1035 00:42:30,490 --> 00:42:34,780 memory-- kﺣ۳ytimme RAM minun tietokone ettﺣ۳ en olisi saanut tutustua. 1036 00:42:34,780 --> 00:42:37,050 Ja sitﺣ۳hﺣ۳n on sekﺣ۳ voimakas ja myﺣﭘs vaarallinen 1037 00:42:37,050 --> 00:42:39,910 noin C on, ettﺣ۳ olet itse on esteetﺣﭘn pﺣ۳ﺣ۳sy 1038 00:42:39,910 --> 00:42:45,910 sitten kaikkiin ohjelman muistiin tai tavua tai RAM, tarkemmin. 1039 00:42:45,910 --> 00:42:49,510 >> Joten vaikka Zamyla nimi on vain kuusi merkkiﺣ۳ pitkﺣ۳, 1040 00:42:49,510 --> 00:42:51,450 Voin silti mennﺣ۳ minnekﺣ۳ﺣ۳n muistiin haluan. 1041 00:42:51,450 --> 00:42:53,491 Ja sivuun, jos olet koskaan lukenut joitakin artikkeli 1042 00:42:53,491 --> 00:42:55,610 vuosien varrella joitakin palvelin tai jokin ohjelma 1043 00:42:55,610 --> 00:42:58,654 saada sﺣ۳rﺣﭘillﺣ۳ tai hakkeroitu se hyﺣﭘdyntﺣ۳neet jotain 1044 00:42:58,654 --> 00:43:00,820 kutsutaan puskurin ylivuoto hyﺣﭘdyntﺣ۳ﺣ۳ kyseistﺣ۳ me will oikeastaan 1045 00:43:00,820 --> 00:43:04,970 puhua muutaman viikon, se on yleensﺣ۳ viittaa jotenkin huijaa 1046 00:43:04,970 --> 00:43:09,090 tietokone menee hyvin rajojen muistin 1047 00:43:09,090 --> 00:43:11,410 ettﺣ۳ sen olisi pitﺣ۳nyt, ja lﺣﭘytﺣ۳ﺣ۳ jotain mehukas 1048 00:43:11,410 --> 00:43:13,530 ettﺣ۳ memory-- salasana, ehkﺣ۳, tapa 1049 00:43:13,530 --> 00:43:16,990 kiertﺣ۳ﺣ۳ noin sarjanumero tarkista, tai vain yleisesti osaa 1050 00:43:16,990 --> 00:43:20,360 huijata tietokone tﺣ۳ytﺣ۳ntﺣﭘﺣﭘnpanosta koodi, joka ei ollut tarkoitettu. 1051 00:43:20,360 --> 00:43:22,360 Mutta katsotaanpa palata Todellisuudessa vain hetken 1052 00:43:22,360 --> 00:43:24,550 jossa tﺣ۳mﺣ۳ ohjelma oli toteutettu strlen, 1053 00:43:24,550 --> 00:43:26,110 ja esitellﺣ۳ yksi asia tﺣ۳ﺣ۳llﺣ۳. 1054 00:43:26,110 --> 00:43:30,030 Mitﺣ۳ uutta nﺣ۳istﺣ۳ kolmesta riviﺣ۳? 1055 00:43:30,030 --> 00:43:30,910 >> Joten merkkijono piste h. 1056 00:43:30,910 --> 00:43:35,490 On kﺣ۳ynyt ilmi, on tﺣ۳mﺣ۳ kirjaston nimeltﺣ۳ﺣ۳n String Dot H, tai String Library, 1057 00:43:35,490 --> 00:43:38,490 joiden header-tiedosto, niin sanoakseni, on merkkijono piste h, joka antaa minulle 1058 00:43:38,490 --> 00:43:40,860 kﺣ۳yttﺣﭘoikeuden tﺣ۳hﺣ۳n strlen toiminnon. 1059 00:43:40,860 --> 00:43:43,841 Jos minﺣ۳ jﺣ۳ttﺣ۳ﺣ۳, ettﺣ۳ kﺣ۳ﺣ۳ntﺣ۳jﺣ۳ on menossa huutaa minulle jossain muodossa. 1060 00:43:43,841 --> 00:43:44,590 Mutta tiedﺣ۳tkﺣﭘ mitﺣ۳? 1061 00:43:44,590 --> 00:43:46,090 Nyt saada todella vivahteikas. 1062 00:43:46,090 --> 00:43:50,820 Linjassa 22, siinﺣ۳ on jotain sellaista on inefficient-- huonosti suunniteltu, 1063 00:43:50,820 --> 00:43:53,990 arguably-- tﺣ۳stﺣ۳ koodiriviﺣ۳. 1064 00:43:53,990 --> 00:43:56,280 Muistelen miten for-silmukka toteutetaan 1065 00:43:56,280 --> 00:44:00,140 ja mihin toimiin toistua ja uudelleen ja again-- alustuksen, 1066 00:44:00,140 --> 00:44:04,110 ehto, koodi ettﺣ۳ saa suorittaa, sitten kasvu 1067 00:44:04,110 --> 00:44:07,880 tai muutos, sitten ehto, sitten koodi, sitten muutos, sitten 1068 00:44:07,880 --> 00:44:11,280 ehto, sitten koodi, sitten muutos, ja niin edelleen. 1069 00:44:11,280 --> 00:44:15,320 Joten mikﺣ۳ voisi olla hieman huolestuttava tai huonosti tehty tﺣ۳ﺣ۳llﺣ۳? 1070 00:44:15,320 --> 00:44:16,387 Joo, sininen. 1071 00:44:16,387 --> 00:44:18,220 Yleisﺣﭘ: strlen on nimeltﺣ۳ﺣ۳n monta, monta kertaa. 1072 00:44:18,220 --> 00:44:20,654 1073 00:44:20,654 --> 00:44:21,320 SPEAKER 1: Joo. 1074 00:44:21,320 --> 00:44:23,700 Niin strlen on nimeltﺣ۳ﺣ۳n monta kertaa, mutta mitﺣ۳ on 1075 00:44:23,700 --> 00:44:27,113 pituus Zamyla nimi ensimmﺣ۳istﺣ۳ kertaa silmukan suorittaa? 1076 00:44:27,113 --> 00:44:27,860 >> Yleisﺣﭘ: Kuusi. 1077 00:44:27,860 --> 00:44:28,110 >> SPEAKER 1: Kuusi. 1078 00:44:28,110 --> 00:44:30,976 No, mikﺣ۳ on pituus hﺣ۳nen nimensﺣ۳ toisen kerran koodi suorittaa? 1079 00:44:30,976 --> 00:44:31,432 >> Yleisﺣﭘ: Kuusi. 1080 00:44:31,432 --> 00:44:31,890 >> SPEAKER 1: Selvﺣ۳. 1081 00:44:31,890 --> 00:44:32,720 Se on edelleen kuusi. 1082 00:44:32,720 --> 00:44:33,220 Oikea? 1083 00:44:33,220 --> 00:44:35,260 Zarla nimi ei ole muuttunut, vaikka etsin 1084 00:44:35,260 --> 00:44:38,240 vain osa kirjaimet hﺣ۳nen nimensﺣ۳. 1085 00:44:38,240 --> 00:44:41,349 Ja niin, ettﺣ۳ olen tehokkaasti tﺣ۳mﺣ۳n kysymyksen, mikﺣ۳ on 1086 00:44:41,349 --> 00:44:44,640 pituus Zamyla, mitﺣ۳ pituus on Zamyla, mitﺣ۳ pituus Zamyla, 1087 00:44:44,640 --> 00:44:47,990 kuusi erillistﺣ۳ kertaa, tai seitsemﺣ۳n jopa, on vain tyhmﺣ۳, 1088 00:44:47,990 --> 00:44:50,390 koska se on muuttumaton, ettﺣ۳ vastaus. 1089 00:44:50,390 --> 00:44:53,550 Ja niin mitﺣ۳ voisin itse do on this-- string yhdessﺣ۳ 1090 00:44:53,550 --> 00:44:55,680 Minulla on marginaalisesti parempi versio tﺣ۳ﺣ۳ltﺣ۳. 1091 00:44:55,680 --> 00:45:00,110 There-- whoops-- merkkijono kaksi Minulla marginaalisesti parempi versio jossa 1092 00:45:00,110 --> 00:45:05,010 En this-- eikﺣ۳ vain alustetaan i 0, olen myﺣﭘs pilkulla 1093 00:45:05,010 --> 00:45:07,990 julistaa toinen muuttuja nimeltﺣ۳ n- Minulla ei ole sanottavaa int uudelleen. 1094 00:45:07,990 --> 00:45:09,220 Minun ei pitﺣ۳isi, itse asiassa. 1095 00:45:09,220 --> 00:45:10,380 Mutta minﺣ۳ sanon n. 1096 00:45:10,380 --> 00:45:13,610 Ja sitten alustaa N strlen n, niin ettﺣ۳ nyt 1097 00:45:13,610 --> 00:45:17,110 kuinka monta kertaa ei strlen saada teloitettiin yhteensﺣ۳? 1098 00:45:17,110 --> 00:45:17,610 Vain kerran. 1099 00:45:17,610 --> 00:45:20,257 Ja niin tﺣ۳mﺣ۳ on mitﺣ۳ me tarkoitamme aikaisemmin noin parempi suunnittelu. 1100 00:45:20,257 --> 00:45:23,090 Oikeastaan ﻗ€‹ﻗ€‹kun koodi on oikea, menee takaisin ja ajattelun kautta, 1101 00:45:23,090 --> 00:45:26,820 minulla on kﺣ۳ytﺣﭘssﺣ۳ niin vﺣ۳hﺣ۳n muisti tai muutaman sekunnin 1102 00:45:26,820 --> 00:45:30,409 tai millisekuntia tietokoneen aikaan mahdollista toteuttaa jokin ongelma? 1103 00:45:30,409 --> 00:45:32,200 Ja aion selata ylﺣﭘs ja vain mainita 1104 00:45:32,200 --> 00:45:34,283 ettﺣ۳ on tﺣ۳mﺣ۳ maininta null tﺣ۳ssﺣ۳ versiossa, 1105 00:45:34,283 --> 00:45:36,390 mutta me palaamme ettﺣ۳ ennen pitkﺣ۳ﺣ۳. 1106 00:45:36,390 --> 00:45:41,010 Koska nyt, katsotaanpa katsomaan at jossa tﺣ۳mﺣ۳ tulee johtamaan meitﺣ۳. 1107 00:45:41,010 --> 00:45:44,110 Joten, kﺣ۳y ilmi, ettﺣ۳ nyt, ettﺣ۳ meillﺣ۳ on mahdollisuus 1108 00:45:44,110 --> 00:45:46,860 tarkastella yksittﺣ۳isiﺣ۳ merkkejﺣ۳, voimme hyﺣﭘdyntﺣ۳ﺣ۳ jotain 1109 00:45:46,860 --> 00:45:50,807 viikosta 0, joka oli hyvin mystistﺣ۳ ja tavallaan mielenkiinnoton tuolloin. 1110 00:45:50,807 --> 00:45:53,390 Mutta nyt, ja varsinkin kun me pﺣ۳ﺣ۳stﺣ۳ salausta viikossa, 1111 00:45:53,390 --> 00:45:54,820 se tulee olemaan melko voimakas. 1112 00:45:54,820 --> 00:45:57,450 On kﺣ۳ynyt ilmi, ettﺣ۳ joitakin tiedot types-- ints ja leijailee 1113 00:45:57,450 --> 00:46:00,300 ja merkkiﺣ۳ ja jouset ja muut things-- jotkut 1114 00:46:00,300 --> 00:46:02,800 voidaan helposti muuntaa toiseen. 1115 00:46:02,800 --> 00:46:05,840 >> Esimerkiksi kun puhuimme noin ASCII aikaa ago-- tﺣ۳ssﺣ۳ 1116 00:46:05,840 --> 00:46:07,796 isoilla kirjaimilla M kautta, piste, piste, 1117 00:46:07,796 --> 00:46:12,530 dot-- sanoimme, ettﺣ۳ on olemassa kartoitus nﺣ۳iden kirjaimia ja numeroita. 1118 00:46:12,530 --> 00:46:14,970 Ja itse asiassa se pﺣ۳tee ja pieniﺣ۳ kirjaimia samoin. 1119 00:46:14,970 --> 00:46:17,470 Pieniﺣ۳ on 97, pﺣ۳ﺣ۳oma on 65. 1120 00:46:17,470 --> 00:46:20,860 Ja siellﺣ۳ on useita ASCII, joka on juuri tﺣ۳mﺣ۳ kartoitus 1121 00:46:20,860 --> 00:46:23,240 jﺣ۳rjestelmﺣ۳ kaikki nﺣ۳mﺣ۳ muut kirjaimet. 1122 00:46:23,240 --> 00:46:25,030 Mitﺣ۳ tﺣ۳mﺣ۳ tarkoittaa? 1123 00:46:25,030 --> 00:46:28,390 No, aion mennﺣ۳ eteenpﺣ۳in ja avoin up todellinen nopeasti jotain kutsutaan 1124 00:46:28,390 --> 00:46:31,240 ASCII-0, joista suurin osa on kommentteja. 1125 00:46:31,240 --> 00:46:33,860 Ja taas verkossa voit aina vilkaista kommentteja. 1126 00:46:33,860 --> 00:46:36,180 >> Ja katsomaan mitﺣ۳ tﺣ۳mﺣ۳ tulee tehdﺣ۳. 1127 00:46:36,180 --> 00:46:38,410 Joten se sai pﺣ۳ﺣ۳tehtﺣ۳vﺣ۳. 1128 00:46:38,410 --> 00:46:41,490 Olen kovakoodannut numerot vain nyt, koska tiedﺣ۳n mitﺣ۳ teen. 1129 00:46:41,490 --> 00:46:42,950 Tiedﺣ۳n mitﺣ۳ haluan nﺣ۳hdﺣ۳ tﺣ۳ﺣ۳llﺣ۳. 1130 00:46:42,950 --> 00:46:45,220 Ja olen alustettu minun 65. 1131 00:46:45,220 --> 00:46:48,490 Ja Luotan ylﺣﭘs kautta 26 kirjainta yhteensﺣ۳. 1132 00:46:48,490 --> 00:46:52,990 Ja mitﺣ۳ olen menossa tulostaa yhden rivin kerrallaan 1133 00:46:52,990 --> 00:46:54,930 jos voit tulkita Tﺣ۳mﺣ۳n korostettu rivi? 1134 00:46:54,930 --> 00:46:55,970 Mitﺣ۳ tulostetaan? 1135 00:46:55,970 --> 00:46:56,797 Joo. 1136 00:46:56,797 --> 00:46:57,264 >> Yleisﺣﭘ: Aiotko tulostaa kirjeen, ettﺣ۳ 1137 00:46:57,264 --> 00:46:59,805 vastaa kartan kirjain arvo ja kokonaisluku arvo? 1138 00:46:59,805 --> 00:47:01,199 1139 00:47:01,199 --> 00:47:01,990 SPEAKER 1: Aivan. 1140 00:47:01,990 --> 00:47:04,740 Aion tulostaa kirjeen vastaava kokonaisluku, 1141 00:47:04,740 --> 00:47:06,131 ja pﺣ۳invastoin, seuraavasti. 1142 00:47:06,131 --> 00:47:08,880 No tﺣ۳mﺣ۳, joku sanoi aiemmin, on vain paikkamerkki char. 1143 00:47:08,880 --> 00:47:09,490 Se on edelleen. 1144 00:47:09,490 --> 00:47:12,280 Tﺣ۳mﺣ۳ tietenkin on paikkamerkki sillﺣ۳ int-- ole uusi linja. 1145 00:47:12,280 --> 00:47:18,140 Ja nyt huomaa, ensimmﺣ۳inen arvo Olen kytkemﺣ۳llﺣ۳ kyseisen paikkamerkin 1146 00:47:18,140 --> 00:47:22,320 ei ole vain I. sanon, suluissa, nieriﺣ۳ﺣ۳ I, 1147 00:47:22,320 --> 00:47:26,700 joka sulkeissa char on kertoo kﺣ۳ﺣ۳ntﺣ۳jﺣ۳, kohdella I 1148 00:47:26,700 --> 00:47:28,490 ei ole niin mitﺣ۳ se on, joka on numero. 1149 00:47:28,490 --> 00:47:30,490 Kﺣ۳sitellﺣ۳ sitﺣ۳ todellista luonnetta. 1150 00:47:30,490 --> 00:47:34,490 Kun taas toinen arvo olen kytkemﺣ۳llﺣ۳ in-- I-- pitﺣ۳isi vain olla useita. 1151 00:47:34,490 --> 00:47:38,140 >> Jos siis koota tﺣ۳mﺣ۳ program-- joten tﺣ۳mﺣ۳ on tehdﺣ۳ ASCII 0, 1152 00:47:38,140 --> 00:47:41,720 piste slash ASCII 0-- saan vain tﺣ۳mﺣ۳ kﺣ۳tevﺣ۳ kaavion 1153 00:47:41,720 --> 00:47:44,950 nﺣ۳yttﺣ۳ﺣ۳ minulle kaikki mahdolliset kuvaukset ilman ajatella sitﺣ۳ 1154 00:47:44,950 --> 00:47:46,450 kautta tai selvittﺣ۳ﺣ۳ sen omasta. 1155 00:47:46,450 --> 00:47:48,783 Ja olen myﺣﭘs tulostamisen, huomaa pienet kirjaimet, 1156 00:47:48,783 --> 00:47:51,410 koska muutaman rivin myﺣﭘhemmin, minﺣ۳ myﺣﭘs tulostaa tﺣ۳mﺣ۳ kartoitus 1157 00:47:51,410 --> 00:47:53,737 samoin, joka on vain sanoa, ettﺣ۳ kun ymmﺣ۳rrﺣ۳t 1158 00:47:53,737 --> 00:47:55,570 mitﺣ۳ tapahtuu alla huppu, voitko 1159 00:47:55,570 --> 00:47:57,111 automaattisesti muuntaa edestakaisin. 1160 00:47:57,111 --> 00:48:00,160 Ja itse asiassa, jos joku teistﺣ۳ koskaan tehnyt tﺣ۳tﺣ۳ alakoulussa 1161 00:48:00,160 --> 00:48:03,490 tai kuulleet jonkun mythically ottaen huomata 1162 00:48:03,490 --> 00:48:05,620 ja kulkee sen hﺣ۳nen tai hﺣ۳nen ystﺣ۳vﺣ۳nsﺣ۳ luokassa, 1163 00:48:05,620 --> 00:48:08,300 mutta te sekaisin kirjaimia kuten tulee B, 1164 00:48:08,300 --> 00:48:11,240 ja B tulee C, tai jotain monimutkaisempi kuin ettﺣ۳, no, 1165 00:48:11,240 --> 00:48:13,410 miten lﺣ۳htisit tﺣ۳ytﺣ۳ntﺣﭘﺣﭘn, ettﺣ۳ lapsena? 1166 00:48:13,410 --> 00:48:16,340 No, juuri sellainen tietﺣ۳ﺣ۳ Tulee B, B tulee C, 1167 00:48:16,340 --> 00:48:19,700 mutta matemaattisesti, mitﺣ۳ se poika tekee? 1168 00:48:19,700 --> 00:48:22,050 Mitﺣ۳ olit lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ kutakin kirjainta? 1169 00:48:22,050 --> 00:48:23,340 Tehokkaasti, 1. 1170 00:48:23,340 --> 00:48:27,740 >> Joten kun vaihdat B, joka on ikﺣ۳ﺣ۳n kuin muuttamalla 65-66, 1171 00:48:27,740 --> 00:48:29,590 mikﺣ۳ matemaattisesti tarkoittaa vain lisﺣ۳tﺣ۳ 1. 1172 00:48:29,590 --> 00:48:33,300 Ja niin jos olit toteuttaa ettﺣ۳ vﺣ۳hﺣ۳n petollinen tekniikka 1173 00:48:33,300 --> 00:48:36,380 oman opettajan koodin, ehkﺣ۳ juuri siihen juuri 1174 00:48:36,380 --> 00:48:38,552 lisﺣ۳ﺣ۳mﺣ۳llﺣ۳ yhden kirjaimen yhdessﺣ۳. 1175 00:48:38,552 --> 00:48:40,260 Niin ennen pitkﺣ۳ﺣ۳, olemme menossa katsomaan miten me 1176 00:48:40,260 --> 00:48:43,300 voi hyﺣﭘdyntﺣ۳ﺣ۳ tﺣ۳tﺣ۳ todella aidosti ryntﺣ۳ily ja purkaa 1177 00:48:43,300 --> 00:48:43,991 tiedot. 1178 00:48:43,991 --> 00:48:47,240 Sillﺣ۳ vﺣ۳lin, ettﺣ۳ olemme alkaneet esitellﺣ۳ pari muille kirjastoille 1179 00:48:47,240 --> 00:48:48,990 here-- merkkijono yksi tﺣ۳nﺣ۳ﺣ۳n. 1180 00:48:48,990 --> 00:48:51,180 Ja erittﺣ۳in hyﺣﭘdyllinen sivusto toivottavasti lﺣﭘydﺣ۳t 1181 00:48:51,180 --> 00:48:55,010 kutsutaan reference.cs50.net, joka opetushenkilﺣﭘstﺣﭘn koonneet, 1182 00:48:55,010 --> 00:48:57,510 niin ettﺣ۳ jos haluat etsiﺣ۳ miten strlen tﺣﭘitﺣ۳, 1183 00:48:57,510 --> 00:48:59,300 voit aloittaa kirjoittamisen funktion nimi, 1184 00:48:59,300 --> 00:49:02,890 valitse strlen siellﺣ۳, ja sitten vﺣ۳hemmﺣ۳n mukava selitys 1185 00:49:02,890 --> 00:49:03,700 tulee nﺣ۳kyﺣ۳. 1186 00:49:03,700 --> 00:49:06,880 Tai jos haluat virallisen Linux-pohjainen selitys, 1187 00:49:06,880 --> 00:49:08,945 voit klikata enemmﺣ۳n mukavia ylhﺣ۳ﺣ۳llﺣ۳ oikealla, ja se 1188 00:49:08,945 --> 00:49:12,070 esittﺣ۳ﺣ۳ samat tiedot, mutta monimutkaisempia kannalta. 1189 00:49:12,070 --> 00:49:15,070 Se hyﺣﭘdyllinen resurssi oikeastaan ﻗ€‹ﻗ€‹tiedﺣ۳ mitﺣ۳ kaikkea tekee. 1190 00:49:15,070 --> 00:49:17,320 >> Seuraavan kerran aiomme katsomaan Ovaltine 1191 00:49:17,320 --> 00:49:20,070 ja enemmﺣ۳n, ja esitellﺣ۳ itsemme maailmaan salausta. 1192 00:49:20,070 --> 00:49:21,930 Sitﺣ۳ ennen, nﺣ۳emme myﺣﭘhemmin tﺣ۳llﺣ۳ viikolla. 1193 00:49:21,930 --> 00:49:23,390 Ja nyt, Colton Ogden. 1194 00:49:23,390 --> 00:49:26,730 Nﺣ۳hdﺣ۳ﺣ۳n keskiviikkona. 1195 00:49:26,730 --> 00:49:30,216 >> [Musiikkia] 1196 00:49:30,216 --> 00:49:33,702 >> [Musiikkia] 1197 00:49:33,702 --> 00:49:38,682 1198 00:49:38,682 --> 00:49:42,200 >> SPEAKER 1: Mikﺣ۳ [BLEEP] sinﺣ۳ teet? 1199 00:49:42,200 --> 00:49:45,720 >> SPEAKER 1: Minﺣ۳ syﺣﭘn minun jﺣ۳lkiruoka? 1200 00:49:45,720 --> 00:49:47,160 Miten syﺣﭘdﺣ۳ sitﺣ۳? 1201 00:49:47,160 --> 00:49:47,860 Kﺣ۳det? 1202 00:49:47,860 --> 00:49:54,050 1203 00:49:54,050 --> 00:49:57,940 >> [Musiikkia] 1204 00:49:57,940 --> 00:50:03,453