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