1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] David J. Malan: Nu labi, tas ir CS50, un tas ir 2 00:00:11,630 --> 00:00:14,790 sākums divu nedēļu. 3 00:00:14,790 --> 00:00:16,300 Paldies. 4 00:00:16,300 --> 00:00:19,000 Ļaujiet mums sākas šeit ar telefona zvanu. 5 00:00:19,000 --> 00:00:30,005 Es esmu par, lai izsauktu 617-Bug-CS50. 6 00:00:30,005 --> 00:00:31,230 CS50: Tas ir CS50. 7 00:00:31,230 --> 00:00:33,930 Turp un atpakaļ Boy, nospiediet 1. 8 00:00:33,930 --> 00:00:36,660 Lai sāktu no jauna, nospiediet 9. 9 00:00:36,660 --> 00:00:38,180 David J. Malan: Tā viņš teica par Shuttle Boy, nospiediet 1. 10 00:00:38,180 --> 00:00:41,560 Tāpēc mēs esam gatavojas nospiediet 1. 11 00:00:41,560 --> 00:00:43,230 CS50: Kāds ir jūsu izcelsme? 12 00:00:43,230 --> 00:00:45,340 Par Quad, nospiediet 1. 13 00:00:45,340 --> 00:00:47,080 Mather, nospiediet 2. 14 00:00:47,080 --> 00:00:49,240 Boylston, nospiediet 3. 15 00:00:49,240 --> 00:00:51,280 Lamont, nospiediet 4. 16 00:00:51,280 --> 00:00:53,210 Mem zāle, nospiediet 5. 17 00:00:53,210 --> 00:00:55,660 Lai sāktu no jauna, nospiediet taustiņu 0. 18 00:00:55,660 --> 00:00:59,590 David J. Malan: Mēs nospiediet 1 quad. 19 00:00:59,590 --> 00:01:03,610 CS50: Nākamais maršruta atstāj šo ļoti minūti at 1:10 PM, un 20 00:01:03,610 --> 00:01:09,820 tad at 1:20 PM, 01:30, 1:40 PM. 21 00:01:09,820 --> 00:01:12,030 Tas ir CS50. 22 00:01:12,030 --> 00:01:15,570 >> David J. Malan: Tātad tas ir CS50 balss. 23 00:01:15,570 --> 00:01:18,030 Un tas ir piemērs no gala projektu veidu, lai 24 00:01:18,030 --> 00:01:19,500 Piemēram, jūs varat nokost pret 25 00:01:19,500 --> 00:01:20,600 beigās semestra. 26 00:01:20,600 --> 00:01:23,840 Piemēram, ka shuttleboy.cs50.net eksistē - 27 00:01:23,840 --> 00:01:28,200 patiesībā projekts, kas es pirmo reizi rakstīja, ņemot CS51 28 00:01:28,200 --> 00:01:29,740 atpakaļ, kad man bija undergraduate. 29 00:01:29,740 --> 00:01:32,250 Un iedvesmas šeit bija toreiz, visi viņi bija bija 30 00:01:32,250 --> 00:01:34,320 iespiestās piepilsētas autobusu grafikus, un nebija 31 00:01:34,320 --> 00:01:35,970 jēdziens meklē lietas uz augšu tiešsaistē. 32 00:01:35,970 --> 00:01:38,730 Un tāpēc es veida balodis vienā nedēļas nogalē, izlej caur 33 00:01:38,730 --> 00:01:41,460 izdrukāt grafiku, un pārnesti to uz datora programmu. 34 00:01:41,460 --> 00:01:43,790 Tajā laikā, kad datorprogramma notika jāraksta 35 00:01:43,790 --> 00:01:47,110 jo C. Un tu tiešām ilga to, ierakstot Shuttle puika 36 00:01:47,110 --> 00:01:48,600 mirgo ātri kā mēs esam darījuši līdz šim. 37 00:01:48,600 --> 00:01:50,450 Taču gadu gaitā, tas ir pārtapusi tūlītēja 38 00:01:50,450 --> 00:01:51,390 ziņapmaiņu bot. 39 00:01:51,390 --> 00:01:53,970 Tas ir kļuvis vēl nesen šajā tīmekļa vietnē, uz 40 00:01:53,970 --> 00:01:57,720 Īsziņu balstīts instruments, kā arī šajā balss rīks. 41 00:01:57,720 --> 00:02:00,170 Un tas ir mājienu lietas veidu, ka jūs varat 42 00:02:00,170 --> 00:02:02,380 darīt, lai sevi līdz semestra beigām. 43 00:02:02,380 --> 00:02:05,490 >> Piemēram, tur, SMS versija Shuttle Boy notiek 44 00:02:05,490 --> 00:02:06,510 darboties šādi. 45 00:02:06,510 --> 00:02:10,880 Ja uz jūsu mobilo tālruni, jūs sūtīt īsziņu uz 41.411 un 46 00:02:10,880 --> 00:02:14,300 pēc tam nosūtīt īpašu simbolu sboy, par Shuttle Boy, 47 00:02:14,300 --> 00:02:18,350 seko A un B, kur ir izcelsme un B ir 48 00:02:18,350 --> 00:02:19,070 galamērķi - 49 00:02:19,070 --> 00:02:21,030 Piemēram, Boylston Space Quad - 50 00:02:21,030 --> 00:02:23,330 ko jums vajadzētu saņemt atpakaļ dažu sekunžu laikā ir teksts 51 00:02:23,330 --> 00:02:25,820 ziņa no Shuttle Boy stāsta jums, kad tieši 52 00:02:25,820 --> 00:02:28,990 Nākamie atspoles ir, no šī punkta dodas uz kas 53 00:02:28,990 --> 00:02:29,640 punktu B. 54 00:02:29,640 --> 00:02:32,510 Un tas ir vairāk vispārējs piemērs, kas pazīstams kā 55 00:02:32,510 --> 00:02:33,920 izmantojot API. 56 00:02:33,920 --> 00:02:36,930 >> Tātad, piemēram, tas šeit ir tikai shuttleboy.cs50.net, 57 00:02:36,930 --> 00:02:39,300 Faktiskais tīmekļa iemiesojums to. 58 00:02:39,300 --> 00:02:42,480 Bet dati, kas ir uzsvērta šī un citu progr, ka CS50 59 00:02:42,480 --> 00:02:45,560 ir izstrādājusi visi pakļauti ikvienam šeit formā 60 00:02:45,560 --> 00:02:49,340 API, lietojumprogrammu saskarnes. 61 00:02:49,340 --> 00:02:52,220 Un tas ir tikai iedomātā veids, kā pateikt, ka cilvēkiem patīk mēs par 62 00:02:52,220 --> 00:02:56,010 Internets un citi ir pavadījuši kādu laiku izveidojot 63 00:02:56,010 --> 00:02:59,970 programmatūru, jūs varat izmantot, lai greifers datus no mums un 64 00:02:59,970 --> 00:03:02,510 tad veidot savu pieteikumu uz augšu 65 00:03:02,510 --> 00:03:03,840 Šīs datu kopas. 66 00:03:03,840 --> 00:03:06,610 Tātad, piemēram, tas Transporta Zēns API lapā šeit, kas 67 00:03:06,610 --> 00:03:09,390 notiek, ir uz CS50 rokasgrāmatā, būtībā dokumentiem 68 00:03:09,390 --> 00:03:13,080 kā jūs varat iet par lūdzot CS50 serveriem datiem. 69 00:03:13,080 --> 00:03:16,240 Piemēram, ja jūs esat iepazinušies ar CSV failiem, komats 70 00:03:16,240 --> 00:03:18,940 atdalītas vērtības, tie ir tikai sava veida ātri un netīrās 71 00:03:18,940 --> 00:03:20,310 Excel līdzīgi failus. 72 00:03:20,310 --> 00:03:23,110 Tātad jūs varat lūgt Shuttle zēns visus datus par visiem 73 00:03:23,110 --> 00:03:25,090 mājas un GPS koordinātas, un Jūs saņemsiet 74 00:03:25,090 --> 00:03:27,300 muguras, būtībā, izklājlapu, piemēram, ka 75 00:03:27,300 --> 00:03:30,820 Jūs varat izlasīt programmā savu un pēc tam 76 00:03:30,820 --> 00:03:33,250 radīt rezultātus, piemēram Shuttle Boy pati 77 00:03:33,250 --> 00:03:34,160 notiek darīt. 78 00:03:34,160 --> 00:03:37,030 Tiem vairāk pazīstams, vairāk mūsdienu datu pārstāvniecībās 79 00:03:37,030 --> 00:03:39,420 ietver JSON, JavaScript objekts pierakstā. 80 00:03:39,420 --> 00:03:40,620 Kaut nāks atpakaļ uz jums uz 81 00:03:40,620 --> 00:03:41,720 beigās semestra. 82 00:03:41,720 --> 00:03:45,440 >> Bet atkal, tas ir tikai viens no vairākiem CS50 pašu API. 83 00:03:45,440 --> 00:03:48,320 Un aizraujošu lieta ir tagad, šajās dienās, Facebook un 84 00:03:48,320 --> 00:03:51,110 Twitter un Google un diezgan daudz ik populāri mājas lapā, kas 85 00:03:51,110 --> 00:03:54,130 tur ir dažas no API, kas nozīmē, ja jūs lasīt kārtot 86 00:03:54,130 --> 00:03:56,620 dokumentāciju par to mājas lapā, jūs pierakstīties uz 87 00:03:56,620 --> 00:03:59,980 kontu, tad varat sākt rakstīt programmatūru uz augšu 88 00:03:59,980 --> 00:04:03,680 neatkarīgi rīkus vai dati, uzņēmums tur piedāvā. 89 00:04:03,680 --> 00:04:06,210 Un tāpēc viens no mūsu pašu mācību līdzcilvēkiem pāris gadus atpakaļ 90 00:04:06,210 --> 00:04:07,620 uzrakstīju Mac versiju par to. 91 00:04:07,620 --> 00:04:10,990 Tāpēc pie saites ar nosaukumu Mac šeit augšējā kreisajā stūrī, jūs faktiski 92 00:04:10,990 --> 00:04:13,940 lejupielādēt Mac OS widget, kas darbojas uz sava Mac darīt to 93 00:04:13,940 --> 00:04:15,040 pašas lietas. 94 00:04:15,040 --> 00:04:17,970 Tātad tas viss ir par ēkas uz augšu datu kopu, piemēram, šo. 95 00:04:17,970 --> 00:04:21,839 Bet vairāk par to uz beigām semestra. 96 00:04:21,839 --> 00:04:25,780 >> Tātad, pieņemsim pikējošais nekustamo ātri ar kļūdu, tikai, lai veida nokļūt 97 00:04:25,780 --> 00:04:27,990 lietas iesilda šodien, un domāju, ka atpakaļ uz dažiem 98 00:04:27,990 --> 00:04:29,660 Lietas, ko mēs paskatījās pagājušajā nedēļā. 99 00:04:29,660 --> 00:04:32,840 Jo īpaši, ļaujiet man iet uz priekšu un uzvilkt, teiksim, 100 00:04:32,840 --> 00:04:34,080 šis piemērs šeit. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c, tas ir pieejams par kursu mājas lapā, ja jūs vēlaties 102 00:04:37,500 --> 00:04:40,250 patīk lejupielādēt un pabāzt ap sevi. 103 00:04:40,250 --> 00:04:43,520 Bet pieņemsim tuvinātu šeit šajā diezgan īsā programma, un tikai 104 00:04:43,520 --> 00:04:46,550 super-ātru Atgādinājums daži no stūrakmeņiem, ka 105 00:04:46,550 --> 00:04:48,880 mēs patiešām gribam, lai tikai sāktu veikt par pašsaprotamu. 106 00:04:48,880 --> 00:04:51,860 >> Tātad zilā sīkumi, kas no 1 līdz 9 līnijas, ir tikai 107 00:04:51,860 --> 00:04:53,670 softbola jautājumus. 108 00:04:53,670 --> 00:04:54,590 Tātad tie ir tikai komentāri. 109 00:04:54,590 --> 00:04:56,230 Viņiem nav nekādas funkcionālas nozīmes. 110 00:04:56,230 --> 00:04:58,460 Bet viņi komentārus tādā nozīmē, ka viņi norāda, ka 111 00:04:58,460 --> 00:05:02,010 Es, cilvēks, kas pie sevis, lai lekciju un pēc 112 00:05:02,010 --> 00:05:04,340 lekcija, es tiešām atceros, ko šī programma 113 00:05:04,340 --> 00:05:07,120 dara bez lasīt caur to pozīcijai un 114 00:05:07,120 --> 00:05:08,990 atjaunošanās vēsturi manā prātā. 115 00:05:08,990 --> 00:05:11,000 Turklāt, ja es roku šo programmu, lai kāds cits, piemēram, 116 00:05:11,000 --> 00:05:14,420 tu, tas ir daudz skaidrāks, lai jūs, jo komentāriem, kā šis, 117 00:05:14,420 --> 00:05:16,680 kāda programma ir faktiski dara, vai vismaz kāda 118 00:05:16,680 --> 00:05:18,210 Programma ir vajadzēja darīt. 119 00:05:18,210 --> 00:05:20,760 Vai tas ir pareizi, ir cits jautājums vispār. 120 00:05:20,760 --> 00:05:25,040 Tagad, C, ar multi-line komentāriem, atcerēties, ka uz līnijas 121 00:05:25,040 --> 00:05:27,880 vienu šeit ir burvju simbols, / *. 122 00:05:27,880 --> 00:05:30,380 Tas nozīmē šeit nāk sākumu komentāra. 123 00:05:30,380 --> 00:05:34,560 Un nekas cits jautājumiem, līdz jūs sasniedzat beigu pārtraucēju 124 00:05:34,560 --> 00:05:36,700 kas ir * /, pretī. 125 00:05:36,700 --> 00:05:39,120 Tātad fakts, ka man ir 80-daži nepāra zvaigznes šeit no 126 00:05:39,120 --> 00:05:41,550 kreisās uz labo, ir tiešām tikai estētiska detaļa. 127 00:05:41,550 --> 00:05:43,370 Tam nav funkcionālas nozīmes. 128 00:05:43,370 --> 00:05:44,490 >> Tagad, kā par 11 līniju? 129 00:05:44,490 --> 00:05:46,940 Ko tas dara lajs izteiksmē? 130 00:05:51,560 --> 00:05:52,540 Ko tas nozīmē? 131 00:05:52,540 --> 00:05:54,280 Mērķauditorija: Ietver standartu. 132 00:05:54,280 --> 00:05:54,740 David J. Malan: Labi, labi. 133 00:05:54,740 --> 00:05:57,500 Tātad tas ietver stdio.h bibliotēku. 134 00:05:57,500 --> 00:05:58,230 Tātad, ko tas nozīmē? 135 00:05:58,230 --> 00:06:01,570 Nu, iekšā šo failu, stdio.h, ir visai ķekars 136 00:06:01,570 --> 00:06:03,320 funkcija deklarācijas - 137 00:06:03,320 --> 00:06:05,290 tas ir, koda ka kāds cits rakstīja. 138 00:06:05,290 --> 00:06:08,160 Un perfekts piemērs funkciju, kas ir deklarēta 139 00:06:08,160 --> 00:06:10,250 stdio.h ir - 140 00:06:10,250 --> 00:06:11,980 kas mīļākā ko tagad? 141 00:06:11,980 --> 00:06:14,300 Tātad printf, viens no visbiežāk tiem izmantot, protams 142 00:06:14,300 --> 00:06:15,840 agri no šīs bibliotēkas ir tur. 143 00:06:15,840 --> 00:06:19,290 Ja es izslēgt, ka līnijas kodu, šķindēt gatavojas kliegt 144 00:06:19,290 --> 00:06:22,550 manī kaut kas par izmantojot nedeklarēto simbolu. 145 00:06:22,550 --> 00:06:24,930 Nedeklarētu kaut kas ir iespējams, atslēgvārds, jo 146 00:06:24,930 --> 00:06:27,770 mēs neesam informēti kompilators ko printf izskatās 147 00:06:27,770 --> 00:06:29,230 patīk, ja mēs arī šo rindu. 148 00:06:29,230 --> 00:06:31,830 Un vēl uz leju, lai Zemes, tiešām, ko tas līnija saka, ir 149 00:06:31,830 --> 00:06:34,890 atvērt šo failu, stdio.h, kur tas ir par servera 150 00:06:34,890 --> 00:06:38,200 cietais disks, vai par ierīces cieto disku, un kopēt-ielīmēt to 151 00:06:38,200 --> 00:06:40,240 labi tur manā failā, bez manas 152 00:06:40,240 --> 00:06:41,730 kam to darīt manuāli. 153 00:06:41,730 --> 00:06:44,420 >> Tagad, kad mēs noteikti šeit galvenais, pirms ilgi mēs sāksim 154 00:06:44,420 --> 00:06:46,900 teasing intervālu ko int un kāda neesošu ir. 155 00:06:46,900 --> 00:06:48,430 Bet tagad, aplūkosim trīs līnijas 156 00:06:48,430 --> 00:06:50,350 aktu 15 līdz 17. 157 00:06:50,350 --> 00:06:52,250 Tas šeit es varu pieprasīt kā mašīnīti. 158 00:06:52,250 --> 00:06:54,900 Manā komentāros 7 line saka "jāizdrukā 10 159 00:06:54,900 --> 00:06:59,410 zvaigznītes bet nav "Kāpēc. tas nav drukāt, patiesībā, 160 00:06:59,410 --> 00:07:01,097 10 Piemēram zvaigznes? 161 00:07:01,097 --> 00:07:02,347 Mērķauditorija: [nedzirdama]. 162 00:07:05,210 --> 00:07:05,800 David J. Malan: Tieši tā. 163 00:07:05,800 --> 00:07:08,720 Tātad ievēroju, ka mēs sākam skaitīt no 0. 164 00:07:08,720 --> 00:07:10,780 Un tas ir faktiski konvencija plānošanas un 165 00:07:10,780 --> 00:07:13,230 datorzinātnes kopumā, sākot skaitīt 166 00:07:13,230 --> 00:07:14,610 no 0, nevis 1. 167 00:07:14,610 --> 00:07:16,690 Un tas patiešām ir tikai cēlies no tā, ka, lai 168 00:07:16,690 --> 00:07:18,940 Piemēram, kad mums bija astoņi cilvēki uz augšu uz skatuves, kad 169 00:07:18,940 --> 00:07:20,680 neviens netika paaugstinot savu roku, viņi bija 170 00:07:20,680 --> 00:07:22,340 visi efektīvi nullēm. 171 00:07:22,340 --> 00:07:24,260 Un tā tas ir tikai sava veida datora konvenciju tā, 172 00:07:24,260 --> 00:07:26,030 Tādēļ, lai sāktu skaitot no 0. 173 00:07:26,030 --> 00:07:29,130 Ja tas ir mazākais skaits var pārstāvēt bināro. 174 00:07:29,130 --> 00:07:32,270 >> Tāpēc šeit mēs esam sākuši inicializēšana I līdz 0. 175 00:07:32,270 --> 00:07:34,230 Mēs esam, kas man ir vienāda ar 0. 176 00:07:34,230 --> 00:07:37,780 Bet tad es šo kļūda šeit, sakot man ir mazāks vai 177 00:07:37,780 --> 00:07:38,820 vienāds ar 10. 178 00:07:38,820 --> 00:07:41,700 Bet, ja jūs domājat, ka cauri, ja es sāktu ar 0, un tad es dodos 179 00:07:41,700 --> 00:07:46,410 līdz 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, es esmu patiešām gatavojas 180 00:07:46,410 --> 00:07:49,980 izdrukāt 11 zvaigznēm uz ekrāna, jo es esmu gājusi uz augšu 181 00:07:49,980 --> 00:07:52,410 uz un vienāds ar 10. 182 00:07:52,410 --> 00:07:55,090 Tik viegli noteikt šeit tad ir tas, ko? 183 00:07:55,090 --> 00:07:56,070 Mērķauditorija: [nedzirdama]. 184 00:07:56,070 --> 00:07:57,350 David J. Malan: Vienkārši mainīt to mazāk nekā. 185 00:07:57,350 --> 00:07:59,700 Ja jūs patiešām vēlaties, jūs varētu darīt. 186 00:07:59,700 --> 00:08:01,370 Bet vispār, kas ir sarauca pieri. 187 00:08:01,370 --> 00:08:04,020 Un tā sāk skaitīt no 0 ir tikai kaut kas jums vajadzētu 188 00:08:04,020 --> 00:08:05,510 parasti pierast. 189 00:08:05,510 --> 00:08:07,810 Tagad, ko par šo visu būvēt un pats par sevi? 190 00:08:07,810 --> 00:08:10,640 Šī līnija 15 demarks par cilpu. 191 00:08:10,640 --> 00:08:12,510 Tāpēc nav funkcija. 192 00:08:12,510 --> 00:08:13,640 Tas ir tikai apgalvojums. 193 00:08:13,640 --> 00:08:16,180 Tas looping konstrukcija, tāpat kā mēs redzējām nulles. 194 00:08:16,180 --> 00:08:17,600 Un tas ir trīs daļas. 195 00:08:17,600 --> 00:08:19,740 Ievērojiet, ka tur ir pirmā daļa, kas 196 00:08:19,740 --> 00:08:21,350 kreisi no semikolu. 197 00:08:21,350 --> 00:08:24,200 Tur vidusdaļa starp diviem semikoliem. 198 00:08:24,200 --> 00:08:26,250 Un tad tur ir labā puse pa labi 199 00:08:26,250 --> 00:08:27,640 otrās semikolu. 200 00:08:27,640 --> 00:08:31,822 Tagad, pirmais no tiem dara? 201 00:08:31,822 --> 00:08:33,679 Mērķauditorija: [nedzirdama]. 202 00:08:33,679 --> 00:08:34,270 David J. Malan: Atpakaļ tur? 203 00:08:34,270 --> 00:08:34,816 Yeah? 204 00:08:34,816 --> 00:08:35,980 AUDITORIJA: Inicializācijas. 205 00:08:35,980 --> 00:08:36,850 >> David J. Malan: inicializācija. 206 00:08:36,850 --> 00:08:37,840 Tātad, ko tas nozīmē? 207 00:08:37,840 --> 00:08:40,690 Mēs esam paziņoja mainīgo sauc i. 208 00:08:40,690 --> 00:08:43,840 Tas ir int tipa, jo es esmu norādīts int i. 209 00:08:43,840 --> 00:08:46,470 Un es esmu inicializēšana I vērtību 0. 210 00:08:46,470 --> 00:08:47,730 Tātad, ko tas īsti saprotams? 211 00:08:47,730 --> 00:08:50,680 Tas ir efektīvi sakot ar datoru hey, dod man pietiek 212 00:08:50,680 --> 00:08:53,660 atmiņu, pietiekami daudz RAM, lai ietilptu numuru, un tad ielieciet 213 00:08:53,660 --> 00:08:56,130 Šajā rieciens RAM 0 numuru. 214 00:08:56,130 --> 00:08:59,100 Un kā malā, cik liela ir int parasti, vismaz iekšā 215 00:08:59,100 --> 00:09:00,280 no ierīces? 216 00:09:00,280 --> 00:09:01,000 Mērķauditorija: 32 bitu. 217 00:09:01,000 --> 00:09:01,670 David J. Malan: 32 biti. 218 00:09:01,670 --> 00:09:04,890 Tātad tas nozīmē, man 32 bitus, citādi zināma kā 4 baiti, 219 00:09:04,890 --> 00:09:07,250 un nodot vērtība 0 tā, kas ir diezgan viegli, jo 220 00:09:07,250 --> 00:09:09,110 Tas nozīmē tikai to noteikt visus bitiem līdz 0. 221 00:09:09,110 --> 00:09:11,690 >> Tāpēc tagad, otrā daļa šeit ir nosacījums. 222 00:09:11,690 --> 00:09:14,590 Un nosacījums, kas liecina nosaukums, ir tas, ko pārbauda 223 00:09:14,590 --> 00:09:18,100 atkal un atkal un atkal, vai tā ir patiesa vai nepatiesa. 224 00:09:18,100 --> 00:09:21,410 Tātad tas ir tikai saprotams darīt šādas rindas koda - 225 00:09:21,410 --> 00:09:23,950 proti līnija 16, jo tas ir vienīgais izrobota 1 226 00:09:23,950 --> 00:09:24,820 zem - 227 00:09:24,820 --> 00:09:26,980 tik ilgi, kamēr es ir mazāks par 10. 228 00:09:26,980 --> 00:09:30,520 Un pēc katra atkārtojuma caur šo cilpu, do 229 00:09:30,520 --> 00:09:33,840 incrementation, kas šajā gadījumā ir i + +. 230 00:09:33,840 --> 00:09:35,580 Tagad, tas nav jābūt I + +. 231 00:09:35,580 --> 00:09:37,610 Tas varētu būt es -. 232 00:09:37,610 --> 00:09:39,860 Bet, ja es to izdarīja, to, uzvedība notiek 233 00:09:39,860 --> 00:09:41,370 būt par šo programmu? 234 00:09:41,370 --> 00:09:42,290 Mērķauditorija: Tas būs bezgalīga cilpa. 235 00:09:42,290 --> 00:09:44,060 David J. Malan: Tas būs sava veida bezgalīgu cilpu, 236 00:09:44,060 --> 00:09:47,720 ja mēs paveiksies pēc negatīvs 2 miljardi jeb tā. 237 00:09:47,720 --> 00:09:51,320 Varbūt lietas aptīšanas, tikai pēc būtības no noteiktas 238 00:09:51,320 --> 00:09:53,930 bitu skaits, kas mums ir iedalītas int. 239 00:09:53,930 --> 00:09:56,270 Bet tas noteikti būs atkārtot daudz vairāk nekā 10 valstīs un 240 00:09:56,270 --> 00:09:58,630 protams, vairāk nekā 11 reizes šeit. 241 00:09:58,630 --> 00:10:02,240 >> Un tagad, tāpat kā malā, saprotam, ka i + + un i - 242 00:10:02,240 --> 00:10:04,420 Ir tiešām tikai sintaktisko cukura. 243 00:10:04,420 --> 00:10:07,210 Tas ir tikai stenogrāfija nošu kas ir nedaudz vairāk 244 00:10:07,210 --> 00:10:08,720 skaidri rakstīts šādi: 245 00:10:08,720 --> 00:10:11,200 i = i + 1. 246 00:10:11,200 --> 00:10:13,460 Tas ir identisks i + +. 247 00:10:13,460 --> 00:10:15,860 Tas tikai veida izskatās glītāka teikt i + +. 248 00:10:15,860 --> 00:10:17,490 Tas ir vairāk koncentrēts, vieglāk uztveramu. 249 00:10:17,490 --> 00:10:19,030 Un tāpēc lielākā daļa cilvēku darīt vietā. 250 00:10:19,030 --> 00:10:21,840 Bet tas ir identisks funkcionāli 251 00:10:21,840 --> 00:10:22,900 ko mēs tikko redzējām. 252 00:10:22,900 --> 00:10:27,770 Tātad īsumā, ātri noteikt šeit ir tikai pateikt atkārtot I 253 00:10:27,770 --> 00:10:30,690 no 0 visu ceļu līdz pat mazāk nekā 10. 254 00:10:30,690 --> 00:10:32,700 Un tad mēs tiešām saņem 10 zvaigznes. 255 00:10:32,700 --> 00:10:33,430 >> Tāpēc pieņemsim mēģināt šo. 256 00:10:33,430 --> 00:10:35,310 Ļaujiet man atvērt termināla apakšā. 257 00:10:35,310 --> 00:10:37,420 Ļaujiet man iet uz direktoriju, ka tas ir iekšā 258 00:10:37,420 --> 00:10:40,030 Un es esmu gatavojas apkopot to manuāli ar šķindēt tagad. 259 00:10:40,030 --> 00:10:44,880 Un es esmu gatavojas apkopot šo kā buggy1.c, Enter. 260 00:10:44,880 --> 00:10:50,280 Un tagad buggy1, kāpēc tur nav šādu failu vai direktoriju 261 00:10:50,280 --> 00:10:52,026 sauc buggy1? 262 00:10:52,026 --> 00:10:53,850 Mērķauditorija: [nedzirdama]. 263 00:10:53,850 --> 00:10:54,240 David J. Malan: Jā. 264 00:10:54,240 --> 00:10:55,420 Tātad tas faktiski aicināja a.out. 265 00:10:55,420 --> 00:10:57,480 Tātad atcerēties, ja jūs vienkārši palaist šķindēt, kur šķindēt ir 266 00:10:57,480 --> 00:11:00,420 kompilators, un jums nav jānorāda vārds, kuru vēlaties 267 00:11:00,420 --> 00:11:03,550 dot savu programmu, tas notiek, lai noklusējuma a.out. 268 00:11:03,550 --> 00:11:05,030 Tātad tiešām, ja man ls - 269 00:11:05,030 --> 00:11:05,510 Ups. 270 00:11:05,510 --> 00:11:07,680 Un es didn't - uz melna un balta jautājumu dažus 271 00:11:07,680 --> 00:11:08,840 esat saskārusies ir noteikts. 272 00:11:08,840 --> 00:11:10,670 Bet ļaujiet man darīt. 273 00:11:10,670 --> 00:11:14,570 Tur mums ir a.out uz kreisajā pusē tur. 274 00:11:14,570 --> 00:11:17,360 Tāpēc mums ir palaist a.out nevis buggy1. 275 00:11:17,360 --> 00:11:19,140 >> Tāpēc ļaujiet man iet uz priekšu un darīt to. 276 00:11:19,140 --> 00:11:22,840 . / A.out, Enter. 277 00:11:22,840 --> 00:11:26,160 Un es acīmredzot nebija darīt? 278 00:11:26,160 --> 00:11:26,620 AUDITORIJA: Saglabāt. 279 00:11:26,620 --> 00:11:27,390 David J. Malan: Saglabāt manu failu. 280 00:11:27,390 --> 00:11:31,520 Tāpēc, ka ir viegli atrisināt, trāpot Control S, vai dodas uz 281 00:11:31,520 --> 00:11:33,450 Failu, Saglabāt, tāpat kā vairumā programmu. 282 00:11:33,450 --> 00:11:36,360 Ļaujiet man iet uz leju šeit, notīrītu ekrānu, palaist vēlreiz. 283 00:11:36,360 --> 00:11:37,960 Un tur ir vēl kļūda. 284 00:11:37,960 --> 00:11:41,618 Tātad, kas notiek - 285 00:11:41,618 --> 00:11:42,980 Mērķauditorija: Jums nav sastādīt. 286 00:11:42,980 --> 00:11:44,040 David J. Malan: Ah, labi. 287 00:11:44,040 --> 00:11:45,010 Man nav salīdzināšanu. 288 00:11:45,010 --> 00:11:47,250 Kā idiots, es esmu meklē kodu, lai redzētu, kas ir nepareizi. 289 00:11:47,250 --> 00:11:51,275 Tātad šķindoņa buggy1.c, tagad a.out. 290 00:11:51,275 --> 00:11:52,640 Un Phew, saglabātas. 291 00:11:52,640 --> 00:11:55,090 >> Tāpēc tas izskatās mazliet neglīts, jo tur nav jauna līnija 292 00:11:55,090 --> 00:11:55,970 jebkur programmā. 293 00:11:55,970 --> 00:11:57,390 Bet atkal, tas ir tikai estētiska detaļa. 294 00:11:57,390 --> 00:11:59,430 Un vismaz, ja mēs paļaujamies tos, mums vajadzētu 295 00:11:59,430 --> 00:12:01,160 tagad redzēt 10 tādas zvaigznes. 296 00:12:01,160 --> 00:12:03,260 Nu, ko par šo otro iesildīšanās piemēram? 297 00:12:03,260 --> 00:12:07,750 Tātad buggy2, es apgalvot, ka šī versija arī būs drukāt 298 00:12:07,750 --> 00:12:10,110 10 zvaigznes, pa vienai katrā rindā. 299 00:12:10,110 --> 00:12:12,340 Tātad šajā laikā, man ir newline raksturs, tikai lai 300 00:12:12,340 --> 00:12:13,520 lietas mazliet prettier. 301 00:12:13,520 --> 00:12:15,410 Bet tā vietā, ko man tas ir. 302 00:12:15,410 --> 00:12:19,590 Tāpēc ļaujiet man darīt šķindēt buggy2.c, Enter. 303 00:12:19,590 --> 00:12:21,790 Tagad tas atkal sauc a.out. 304 00:12:21,790 --> 00:12:23,130 Enter. 305 00:12:23,130 --> 00:12:26,900 Es redzu tikai vienu jaunu līniju, tikai pašā pēdējā jaunā līnija, kas 306 00:12:26,900 --> 00:12:29,370 pārceļas mans aicinājums nākamajā rindā. 307 00:12:29,370 --> 00:12:32,660 Un vēl skaidri es esmu drukāšanas *, tad jaunu līniju, 308 00:12:32,660 --> 00:12:33,990 *, Tad jaunā pozīcija. 309 00:12:33,990 --> 00:12:35,490 Bet kāda kļūda šeit? 310 00:12:35,490 --> 00:12:35,974 Yeah? 311 00:12:35,974 --> 00:12:37,224 Mērķauditorija: [nedzirdama]. 312 00:12:39,850 --> 00:12:40,470 >> David J. Malan: Tieši tā. 313 00:12:40,470 --> 00:12:44,110 Tātad atšķirībā no dažiem valodām, piemēram, Python, kur līdzinājums 314 00:12:44,110 --> 00:12:46,030 faktiski ir funkcionālo nozīmi, jo 315 00:12:46,030 --> 00:12:47,150 valoda, piemēram, C - 316 00:12:47,150 --> 00:12:49,140 kā mēs redzēsim, PHP, JavaScript - 317 00:12:49,140 --> 00:12:51,940 sašaurinājums ir tiešām tikai par cilvēkiem "labā. 318 00:12:51,940 --> 00:12:55,690 Tātad fakts, ka es esmu izrobota līniju 16 un 17 izskatās lieliski, 319 00:12:55,690 --> 00:12:57,530 bet tas nav funkcionālas nozīmes šeit. 320 00:12:57,530 --> 00:13:00,700 Ja es gribu abas līnijas izpildīt kā daļu par 321 00:13:00,700 --> 00:13:05,140 cilpa, tad man ir jāpievieno tos cirtaini lencēm, ko darīt. 322 00:13:05,140 --> 00:13:08,540 Jūs varat tikai samazināt šo stūri un izlaist cirtaini bikšturi, ja 323 00:13:08,540 --> 00:13:10,036 kāda ir lieta? 324 00:13:10,036 --> 00:13:10,410 Mērķauditorija: Tikai vienu līniju. 325 00:13:10,410 --> 00:13:11,130 David J. Malan: Tikai vienu līniju. 326 00:13:11,130 --> 00:13:15,280 Tātad tas ir tikai sava veida jauku veida sintakses detalizēti, lai 327 00:13:15,280 --> 00:13:17,900 jūs netērētu laiku, rakstot trīs līnijas, no kuriem divi ir 328 00:13:17,900 --> 00:13:20,040 cirtaini bikšturi, vienkārši rakstīt vienu rindiņu kodu. 329 00:13:20,040 --> 00:13:21,650 Bet, ja jums ir divas vai vairākas līnijas, mēs 330 00:13:21,650 --> 00:13:22,860 tiešām ir nepieciešams to darīt. 331 00:13:22,860 --> 00:13:24,210 >> Tāpēc tagad ļaujiet man ietaupīt šo. 332 00:13:24,210 --> 00:13:27,140 Ļaujiet man iet uz priekšu un atkal palaist šķindēt. 333 00:13:27,140 --> 00:13:31,375 Tad ļaujiet man atkārto a.out, un tagad man tos pa vienam katrā rindā. 334 00:13:31,375 --> 00:13:33,670 Tagad, a.out atkal ir sava veida mēms nosaukumu programmas. 335 00:13:33,670 --> 00:13:37,500 Kā es varu pateikt šķindēt faktiski man faila nosaukumu 336 00:13:37,500 --> 00:13:39,820 kas ir vairāk lietotājam draudzīgs, tāpat buggy2 pati? 337 00:13:43,200 --> 00:13:44,466 Nedaudz skaidrāk? 338 00:13:44,466 --> 00:13:45,220 Mērķauditorija: [nedzirdama]. 339 00:13:45,220 --> 00:13:47,810 David J. Malan: Labi, tāpēc es patiesībā var veikt ļoti 340 00:13:47,810 --> 00:13:51,000 lietotājam draudzīgu saīsnes un tikai rakstīt padarīt buggy2. 341 00:13:51,000 --> 00:13:53,840 Man nav jānorāda c šajā lietā., Un hit Enter. 342 00:13:53,840 --> 00:13:58,530 Un ko darīt tas ir tas sastāda buggy2.c man ar 343 00:13:58,530 --> 00:14:00,260 lūdzot šķindēt to darīt. 344 00:14:00,260 --> 00:14:05,100 Proti, tā aicina šķindēt, tas darbojas šķindēt izmantojot tā vairāk 345 00:14:05,100 --> 00:14:08,540 komandrindas argumentus vai slēdžus, nekā es tiešām ir nepieciešams. 346 00:14:08,540 --> 00:14:11,270 Ar laiku, mēs būsim atpakaļ uz to, ko visi šie dažādu 347 00:14:11,270 --> 00:14:13,810 mistisks hyphenated izteiksmes līdzekļiem. 348 00:14:13,810 --> 00:14:16,910 Bet tagad, tas ir tikai ietaupot man nepatikšanas 349 00:14:16,910 --> 00:14:19,600 nepieciešamības atcerēties un kam tipa no visiem tiem 350 00:14:19,600 --> 00:14:21,150 dažādas hyphenated izteiksmes. 351 00:14:21,150 --> 00:14:23,240 Un tā otrādi galu galā ir 352 00:14:23,240 --> 00:14:25,900 ka tagad man ir buggy2. 353 00:14:25,900 --> 00:14:27,480 Ja es gribu to darīt manuāli, gan, es 354 00:14:27,480 --> 00:14:28,775 var tā vietā izdarīt - 355 00:14:28,775 --> 00:14:34,110 šķindoņa-o buggy2 un tad buggy2.c. 356 00:14:34,110 --> 00:14:37,980 Un kas būs līdzīgi man failu ar nosaukumu buggy2. 357 00:14:37,980 --> 00:14:39,710 >> Tātad īsumā, šķindēt ir kompilators. 358 00:14:39,710 --> 00:14:43,080 Darīt ir tikai lietotājam draudzīgs rīks, kas mums būs, izmantojot vairāk 359 00:14:43,080 --> 00:14:44,420 un vēl, jo tā vienkārši sāk 360 00:14:44,420 --> 00:14:47,330 vienkāršot lietas mums. 361 00:14:47,330 --> 00:14:49,430 Un mēs atgriežamies 0, visbeidzot. 362 00:14:49,430 --> 00:14:51,890 Tagad, tikai tāpēc, bet mēs sāksim Teasing, ka daļa 363 00:14:51,890 --> 00:14:52,930 šodien un trešdien. 364 00:14:52,930 --> 00:14:55,560 Visus jautājumus par kādu no šo? 365 00:14:55,560 --> 00:14:56,450 Yeah? 366 00:14:56,450 --> 00:14:58,234 Mērķauditorija: [dzirdams] 367 00:14:58,234 --> 00:15:00,020 Ls pēdiņām tur? 368 00:15:00,020 --> 00:15:01,710 David J. Malan: Labi. 369 00:15:01,710 --> 00:15:05,880 Kad es drukāti Ls citātus, kas bija mani dara daži burvju 370 00:15:05,880 --> 00:15:07,160 aizkulisēs, lai noteikt bug. 371 00:15:07,160 --> 00:15:09,370 Es aizmirsu, kā mēs esam stāsta daudzi no jums par 372 00:15:09,370 --> 00:15:11,600 diskusiju dēļiem, kas darīt - 373 00:15:11,600 --> 00:15:17,220 mēs darīt tagad - sudo Yum-y atjauninājumu appliance50. 374 00:15:17,220 --> 00:15:19,790 Whoops, ka ir uzrakstīti pareizi. 375 00:15:19,790 --> 00:15:23,240 Tātad ierīce ir kā operētājsistēmu. 376 00:15:23,240 --> 00:15:25,650 Tas darbojas šo operētājsistēmu sauc Fedora. 377 00:15:25,650 --> 00:15:27,450 Un tagad, jo mana lēnu interneta savienojumu, es esmu 378 00:15:27,450 --> 00:15:28,260 tiešām jātulko to. 379 00:15:28,260 --> 00:15:31,620 Tātad darbojas sudo Yum atjauninājumu, kā mēs jums pastāstīt darīt 380 00:15:31,620 --> 00:15:34,080 Problēma komplekts, būtībā tāpat kā darbojas automātisko atjauninājumu 381 00:15:34,080 --> 00:15:35,420 Mac OS vai Windows. 382 00:15:35,420 --> 00:15:37,280 Un iemesls darbojas šī pašā sākumā 383 00:15:37,280 --> 00:15:39,640 Problēma komplekts ir tāpēc, kad mēs radīja ierīci, es 384 00:15:39,640 --> 00:15:42,480 messed up, un es nejauši izgatavots visas programmas izskatās 385 00:15:42,480 --> 00:15:45,210 melns uz melna ekrāna, kas ir iemesls, kāpēc jūs neredzat tos 386 00:15:45,210 --> 00:15:45,860 pēc noklusējuma. 387 00:15:45,860 --> 00:15:48,020 Bet jaunākā versija no ierīces nosaka šo. 388 00:15:48,020 --> 00:15:50,500 Un es noteikt, ka laikā pārtraukuma reiz man ir internets 389 00:15:50,500 --> 00:15:51,280 savienojamību. 390 00:15:51,280 --> 00:15:54,630 >> Tātad citē vienkārši slēpj mana kļūda, ļoti diskrēti, 391 00:15:54,630 --> 00:15:55,730 acīmredzot. 392 00:15:55,730 --> 00:15:56,980 Citi jautājumi? 393 00:15:59,750 --> 00:16:00,668 Jā? 394 00:16:00,668 --> 00:16:02,012 Mērķauditorija: Kur veikt nāk no? 395 00:16:02,012 --> 00:16:03,810 [Dzirdams] 396 00:16:03,810 --> 00:16:04,280 David J. Malan: Labs jautājums. 397 00:16:04,280 --> 00:16:05,460 Kur tas padara nāk no? 398 00:16:05,460 --> 00:16:09,390 Tas ir Linux programma, kas pastāv jau vairākus gadus, kamēr 399 00:16:09,390 --> 00:16:10,570 Pirms CS50. 400 00:16:10,570 --> 00:16:12,930 Un tas nāk ar operētājsistēmu, piemēram, Fedora. 401 00:16:12,930 --> 00:16:14,830 Tas nenāk no CS50 bibliotēkas. 402 00:16:14,830 --> 00:16:17,560 Patiesībā, tikai lietas, kas nāk no CS50 bibliotēkas 403 00:16:17,560 --> 00:16:20,470 Līdz šim, ka mēs esam redzējuši, ir GetString, GetInt, visi 404 00:16:20,470 --> 00:16:25,550 tiem Get funkcijas, un vārdu virkne, un uz dažiem 405 00:16:25,550 --> 00:16:26,575 mērā vārdu bool. 406 00:16:26,575 --> 00:16:29,180 Bet mēs kaitināt, ka bez kad mēs nirt CS50 uz 407 00:16:29,180 --> 00:16:30,580 pati ierīce. 408 00:16:30,580 --> 00:16:32,820 >> Tātad, jā, vēl viens jautājums šeit. 409 00:16:32,820 --> 00:16:36,636 Mērķauditorija: Kad jūs teicāt veikt un pēc tam Buggy, kā tas 410 00:16:36,636 --> 00:16:39,980 dators zina [dzirdams]? 411 00:16:39,980 --> 00:16:40,520 David J. Malan: Labs jautājums. 412 00:16:40,520 --> 00:16:43,830 Tātad, ja jūs vienkārši palaist padarīt buggy1 vai padarīt buggy2, cik 413 00:16:43,830 --> 00:16:45,220 tas padara zina? 414 00:16:45,220 --> 00:16:49,900 Tātad pēc noklusējuma, ja jūs rakstīt veikt buggy1, padara meklē 415 00:16:49,900 --> 00:16:52,330 failu sauc buggy1.c. 416 00:16:52,330 --> 00:16:55,570 Un tad tas izpilda attiecīgus šķindēt komandas, 417 00:16:55,570 --> 00:17:00,380 tādējādi ignorējot noklusējuma izvades failu sauc a.out. 418 00:17:00,380 --> 00:17:03,670 Patiesībā, ja mēs skatāmies uz to, ko darīt, ko - 419 00:17:03,670 --> 00:17:04,839 pieņemsim atmest šo. 420 00:17:04,839 --> 00:17:09,530 Ja mēs skatāmies uz to, kas padara faktiski dara, dara buggy2, 421 00:17:09,530 --> 00:17:10,470 tas jau līdz šim. 422 00:17:10,470 --> 00:17:13,020 Tāpēc ļaujiet man noņemt rm komandu, 423 00:17:13,020 --> 00:17:14,319 Programma es uzrakstīju iepriekš. 424 00:17:14,319 --> 00:17:17,319 Ierakstot Y-E-S, lai apstiprinātu, ka es gribu, lai to noņemtu. 425 00:17:17,319 --> 00:17:20,480 Ja man tagad darīt darīt, ievēroju, ka šajā ļoti garā rindā, 426 00:17:20,480 --> 00:17:22,980 tur ir šī pēdējā lieta šeit,-o buggy2. 427 00:17:22,980 --> 00:17:26,959 Visi dara dara, ir iet šo argumentu, tā sakot, lai 428 00:17:26,959 --> 00:17:29,665 Šķindoņa, tāpēc, ka man nav rakstīt pats. 429 00:17:29,665 --> 00:17:32,660 >> Labi, tāpēc ātri pāris administratīvo 430 00:17:32,660 --> 00:17:33,470 paziņojumi. 431 00:17:33,470 --> 00:17:36,940 Tātad sadaļām, kuras oficiāli sākās šo nāk 432 00:17:36,940 --> 00:17:38,970 Svētdiena, jūs vienmēr vēlaties, lai, ja 433 00:17:38,970 --> 00:17:40,120 jums ir viens, klēpjdators. 434 00:17:40,120 --> 00:17:42,570 Ja jums nav klēpjdators, do panākt, lai man 435 00:17:42,570 --> 00:17:43,580 krītot man e-pastu. 436 00:17:43,580 --> 00:17:44,810 Un mēs izdomāt darbplūsmu. 437 00:17:44,810 --> 00:17:47,100 Ko vispār jūs atradīsiet nodaļā ir tas, ka viņi daļa 438 00:17:47,100 --> 00:17:48,770 konceptuāls, nepilna praktisku. 439 00:17:48,770 --> 00:17:52,190 Mēs speciāli izmantot sadaļu jautājumiem, daļa no 440 00:17:52,190 --> 00:17:54,110 Šī nedēļa ir problēma, kas, lai staigāt pa kādu no 441 00:17:54,110 --> 00:17:55,820 konceptuālu materiālu no lekciju. 442 00:17:55,820 --> 00:17:57,480 Un tas viss ar pašreizējo problēmu kopumu. 443 00:17:57,480 --> 00:18:00,010 Un mēs arī nirt dažas praktiskas aktivitātes, dažreiz 444 00:18:00,010 --> 00:18:02,190 kas tiks pieprasīts iesniegt, dažkārt 445 00:18:02,190 --> 00:18:02,830 kas nebūs. 446 00:18:02,830 --> 00:18:04,630 Piemēram, šī pirmā nedēļa, viņi nozīmēja tikpat 447 00:18:04,630 --> 00:18:05,780 iesildīšanās pasākums. 448 00:18:05,780 --> 00:18:07,800 Un jūs atradīsiet, ka šīs problēmas ir tiešām tikai to. 449 00:18:07,800 --> 00:18:10,220 Tie ir domāti, lai būtu diezgan maza, bet ne vienmēr 450 00:18:10,220 --> 00:18:13,100 triviāla programmām, lai rakstītu, ka ne vienmēr ir 451 00:18:13,100 --> 00:18:16,230 aizraujoši un par sevi, bet ir labas iespējas 452 00:18:16,230 --> 00:18:19,620 praktizēt ar sintaksi, ar jaunām funkcijām, kas komforts 453 00:18:19,620 --> 00:18:21,900 sadaļā, kur jums ir daži no jūsu klasesbiedriem klāt kā 454 00:18:21,900 --> 00:18:22,870 arī savu TF. 455 00:18:22,870 --> 00:18:26,210 >> Un ko mēs darīsim laika gaitā ir izmantot rīku, ko sauc CS50 Spaces, 456 00:18:26,210 --> 00:18:28,940 kuru nevis tikai izmantojot CS50 Appliance, jūs 457 00:18:28,940 --> 00:18:32,450 vietā iet uz mājas lapā pārlūkprogrammā, kur jūs varēsiet 458 00:18:32,450 --> 00:18:35,610 rakstīt kodu pārlūka loga laikā sadaļā. 459 00:18:35,610 --> 00:18:38,240 Un tad, ja jūs izvēlaties, jūsu mācību kolēģis tad var parādīt 460 00:18:38,240 --> 00:18:40,980 kāds tas ir jūs rakstāt uz ekrāna savā pārlūkprogrammā 461 00:18:40,980 --> 00:18:43,930 logu augšā klases priekšā, vai anonīmi vai 462 00:18:43,930 --> 00:18:47,250 publiski, lai viņš vai viņa var, tad staigāt cauri ar 463 00:18:47,250 --> 00:18:50,080 jūsu klasesbiedri, ko jūs labi, ko jūs nav darīt labi. 464 00:18:50,080 --> 00:18:52,750 Un atkal, drošs tas viss var labi anonīmus. 465 00:18:52,750 --> 00:18:54,410 Bet tas būs jauka iespēja daudz 466 00:18:54,410 --> 00:18:56,810 interaktivitāte kā kaut ko līdzīgu lekciju atļauj. 467 00:18:56,810 --> 00:18:58,910 >> Pa to laiku, mums būs šīs lietas sauc par super 468 00:18:58,910 --> 00:19:01,610 posmi, kas ir obligāta, bet ir atvērtas ikvienam 469 00:19:01,610 --> 00:19:04,030 klases, lai jūs varētu darīt vairāk, kopumā attiecībā 470 00:19:04,030 --> 00:19:05,190 Problēma noteikti vienu. 471 00:19:05,190 --> 00:19:06,010 Lūk grafiks. 472 00:19:06,010 --> 00:19:08,870 Tas ir arī publicēta mājaslapā cs50.net. 473 00:19:08,870 --> 00:19:10,850 Ievērojiet, ka tur būs hakeris specifiska 474 00:19:10,850 --> 00:19:12,430 1 rīt pēcpusdienā. 475 00:19:12,430 --> 00:19:15,460 Un mēs filmēt vienu šodien un vienu rīt un pēc tām 476 00:19:15,460 --> 00:19:16,720 Pašreiz 24 stundu laikā. 477 00:19:16,720 --> 00:19:19,370 Tātad, ja jūs nevarat veikt kādu no šiem laikiem, nav jāuztraucas. 478 00:19:19,370 --> 00:19:22,720 Un atkal, grafiks ir tiešsaistē tagad pie cs50.net. 479 00:19:22,720 --> 00:19:25,350 >> Runājot par sectioning sevi, jums ir jābūt gotten 480 00:19:25,350 --> 00:19:28,520 rakstiet instruēt jums iet uz kursiem mājas lapā, lai atrastu 481 00:19:28,520 --> 00:19:29,610 kādas ir jūsu sadaļā. 482 00:19:29,610 --> 00:19:32,890 Ja dzīve ir mainījusies, un jums ir nepieciešams, lai mainītu savu sadaļu, 483 00:19:32,890 --> 00:19:33,560 nav problēma. 484 00:19:33,560 --> 00:19:37,900 Iet atpakaļ uz to pašu URL, cs50.net/section, vienskaitlis, 485 00:19:37,900 --> 00:19:40,090 un jūs aizpildīt līdzīgu formu, lai jūs varat 486 00:19:40,090 --> 00:19:41,260 tad dod mums savu izvēli. 487 00:19:41,260 --> 00:19:43,360 Un mēs sekot līdz nedēļas beigām, par to, ko mēs varam 488 00:19:43,360 --> 00:19:44,240 pielāgotos. 489 00:19:44,240 --> 00:19:49,530 Pagājušajā nedēļā, atgādināt, ka mēs ierosinājām, izmantojot CS50 diskutēt, 490 00:19:49,530 --> 00:19:51,370 Kurss diskusija instruments, lekciju. 491 00:19:51,370 --> 00:19:53,680 Tāpēc mums bija 40 jautājumi, kas tika uzdoti un 492 00:19:53,680 --> 00:19:54,720 atbildēja laikā lekciju. 493 00:19:54,720 --> 00:19:56,280 Tā likās strādāt labi, tāpēc mēs turpināsim 494 00:19:56,280 --> 00:19:57,180 mēģina to darīt. 495 00:19:57,180 --> 00:19:59,600 Ja, veicot lekciju, jūs ne tikai justies ērti piesaistīšanu 496 00:19:59,600 --> 00:20:00,780 roku, nevis problēma. 497 00:20:00,780 --> 00:20:04,640 Iet uz cs50.net/discuss, post tur, un mūsu mācību 1 498 00:20:04,640 --> 00:20:07,270 stipendiātiem būs vai nu atbildēt elektroniski vai paaugstināt to 499 00:20:07,270 --> 00:20:10,620 roku uz jūsu vārdā anonīmi jautāt, atkarībā 500 00:20:10,620 --> 00:20:12,470 par rakstura jautājumu. 501 00:20:12,470 --> 00:20:15,000 Un attiecībā uz atsauksmēm, parasti psets būs 502 00:20:15,000 --> 00:20:16,760 atgriezās nedēļas laikā. 503 00:20:16,760 --> 00:20:19,080 Jo tas aizņem maz, bet, lai sekcijas lai sasniegtu 504 00:20:19,080 --> 00:20:22,430 līdzsvars, pirmā PSET, 0 un 1, būs mazliet 505 00:20:22,430 --> 00:20:24,130 aizkavēta kā lietas apmesties. 506 00:20:24,130 --> 00:20:27,130 Bet sekojiet līdzi ka nedēļās. 507 00:20:27,130 --> 00:20:29,750 >> Visiem labi, tāpēc ļaujiet man likts uz manu nopietns 508 00:20:29,750 --> 00:20:31,040 balss tikai brīdi. 509 00:20:31,040 --> 00:20:32,690 Tātad tas ir faktiski interesants klimats būt 510 00:20:32,690 --> 00:20:35,210 ņemot šo diskusiju, kas ar visām citām lietām 511 00:20:35,210 --> 00:20:37,310 notiek uz Campus tiem saistīto. 512 00:20:37,310 --> 00:20:40,220 Bet CS50 noteikti ir bijusi sava vēsture šis konkrētais 513 00:20:40,220 --> 00:20:43,360 temats, jo tik daudz kā katru gadu, šis kurss, daudziem 514 00:20:43,360 --> 00:20:46,910 gadiem, Ad-dēļi apmēram 3% no klases. 515 00:20:46,910 --> 00:20:51,620 Šī pēdējā gadā, 2011, CS50 Ad-iekāpa 35 studenti. 516 00:20:51,620 --> 00:20:54,120 Tas nav, es domāju, jo trūkst skaidrības. 517 00:20:54,120 --> 00:20:56,760 Saprast, ka, veicot s mācību, ir lapa 518 00:20:56,760 --> 00:20:59,020 paziņojumu, kurā paskaidro, kur līnijas ir. 519 00:20:59,020 --> 00:21:01,350 Tas pats apgalvojums tiek atkārtots katru vienu no 520 00:21:01,350 --> 00:21:03,070 Problēma noteikti uz vienas lapas. 521 00:21:03,070 --> 00:21:05,760 >> Tāpēc es pieminu šodien tiešām tikai veikt 522 00:21:05,760 --> 00:21:07,030 ļaudīm domājot par to. 523 00:21:07,030 --> 00:21:08,080 Un mēs esam mēģinājuši dažādas lietas. 524 00:21:08,080 --> 00:21:10,630 Un ko es domāju, ka mēs varētu darīt šobrīd ir tikai jāņem brīdi, lai 525 00:21:10,630 --> 00:21:13,830 faktiski apskatīt dažus no pēdējiem gadījumiem, kas ir ieradušies uz augšu. 526 00:21:13,830 --> 00:21:16,160 Nevis saglabāt šos jo netīrās maz noslēpumus, faktiski 527 00:21:16,160 --> 00:21:19,170 norādīt, ko studenti ir jādara un kā mēs esam atklāti 528 00:21:19,170 --> 00:21:21,630 tas un tiešām, ko galvenais motivācija ir 529 00:21:21,630 --> 00:21:23,950 pat ar šī saruna. 530 00:21:23,950 --> 00:21:27,060 Tātad ar to teica, līnija būtībā tas ir - 531 00:21:27,060 --> 00:21:29,200 vienu mācību, jūs laipni, tiek aicināti, lai 532 00:21:29,200 --> 00:21:30,210 runāt ar klasesbiedriem. 533 00:21:30,210 --> 00:21:31,910 Tas ir viss mērķis, kam šie sadarbības 534 00:21:31,910 --> 00:21:34,470 biroja stundas Annenberg un mudinot cilvēkus uz 535 00:21:34,470 --> 00:21:35,755 galīgais projekts strādāt kopā. 536 00:21:35,755 --> 00:21:38,590 Bet līnija ir sagatavots, kad runa ir laiks, lai faktiski rakstīt 537 00:21:38,590 --> 00:21:39,790 savu galīgo risinājumu. 538 00:21:39,790 --> 00:21:42,590 Runājot angļu valodā, pilnīgi naudas sodu, uzstājoties pseido kodu, 539 00:21:42,590 --> 00:21:43,400 pilnīgi naudas sodu. 540 00:21:43,400 --> 00:21:46,340 Nosūtot klasesbiedrs savu PSET, ļaujot viņiem apskatīt 541 00:21:46,340 --> 00:21:48,610 ekrāns, jo rokas turpināt rakstīt, 542 00:21:48,610 --> 00:21:50,110 pa līniju, kā arī. 543 00:21:50,110 --> 00:21:52,250 Vai skatīties uz mācību par konkrētām pozīcijām. 544 00:21:52,250 --> 00:21:55,850 >> Bet tikai uzzīmēt zīmējumu par to, kā tas diemžēl 545 00:21:55,850 --> 00:21:58,370 realitāte, apzināties, ka ir mājas lapas, kas tur, ka 546 00:21:58,370 --> 00:22:01,490 ir risinājumi šīs klases un daudzās citās klasēs. 547 00:22:01,490 --> 00:22:04,940 Fakts, ka jūs vai apmēram 3% no jums zina, ka tas eksistē 548 00:22:04,940 --> 00:22:07,240 nozīmē, ka mēs zinām, ka tas eksistē. 549 00:22:07,240 --> 00:22:09,340 Fakts, ka tur ir mājas lapas, piemēram, tas, kur jūs 550 00:22:09,340 --> 00:22:11,540 var maksāt kādam, lai faktiski darīt savu problēmu kopumu - tas bija 551 00:22:11,540 --> 00:22:13,450 faktiskais gadījums, kas nāca klajā pagājušajā gadā. 552 00:22:13,450 --> 00:22:15,790 Tas ir mājas lapā sauc odesk.com. 553 00:22:15,790 --> 00:22:20,090 Un Tims bija personas vārds, šeit, kas bija norīkošanu par 554 00:22:20,090 --> 00:22:24,580 Šī tīmekļa vietne un lūdza kādu darīt savu PSET 7, 555 00:22:24,580 --> 00:22:25,570 šajā konkrētajā gadījumā. 556 00:22:25,570 --> 00:22:28,350 Nu, odesk.com ir ļoti Google spējīgs, un arī mēs esam 557 00:22:28,350 --> 00:22:30,310 Ļoti labi Googling. 558 00:22:30,310 --> 00:22:32,360 Arī šeit ir vietas - un tas viens ir diezgan 559 00:22:32,360 --> 00:22:34,234 zvērīgās, atklāti. 560 00:22:34,234 --> 00:22:38,050 [Smiekli] 561 00:22:38,050 --> 00:22:39,610 David J. Malan: smieklīgi lieta par šo vietni ir, ja 562 00:22:39,610 --> 00:22:41,970 Jūs lasīt Par lapu, viņi runā par to korporatīvo 563 00:22:41,970 --> 00:22:44,390 kultūra un cik klientu apkalpošana ir to skaits-viens 564 00:22:44,390 --> 00:22:46,190 prioritāte, lai pārliecinātos, ka jūsu uzdevumu iegūt 565 00:22:46,190 --> 00:22:47,890 pagriezās uz laiku. 566 00:22:47,890 --> 00:22:50,580 >> Bet visu nopietnību, atkal fakts, ka šajās vietās 567 00:22:50,580 --> 00:22:52,910 pastāvēt, saproti, mēs, arī ir informētāki par 568 00:22:52,910 --> 00:22:53,730 šāda veida portālos. 569 00:22:53,730 --> 00:22:55,890 Un lai dotu jums sajūtu, ko veido tas kopumā 570 00:22:55,890 --> 00:22:58,570 ņem, mēs parasti nav lielas skandāliem, kur cilvēki 571 00:22:58,570 --> 00:23:01,080 sadarbojas uz jebkura veida liela mēroga, bet drīzāk 572 00:23:01,080 --> 00:23:04,540 tas ir šīs vakara mirkļus vājumu, kur jums ir tik 573 00:23:04,540 --> 00:23:07,550 daudz ko darīt, tas ir 04:00, jūs izsmelti, un jums 574 00:23:07,550 --> 00:23:09,770 domāju, lai sevi, labi, ļaujiet man tikai veikt apskatīt manu 575 00:23:09,770 --> 00:23:11,770 kaimiņiem ir vai mana drauga kods vai līdzīgi. 576 00:23:11,770 --> 00:23:14,800 Un tas izpausmes diemžēl ietver Student 577 00:23:14,800 --> 00:23:17,640 Iesniedzot kaut kas līdzīgs šim, un students B IESNIEGŠANAS 578 00:23:17,640 --> 00:23:20,370 kaut kas līdzīgs šim, kas, protams, ir dators 579 00:23:20,370 --> 00:23:23,830 zinātne klasē, ir ļoti viegli datorzinātnieku 580 00:23:23,830 --> 00:23:25,690 atklāt ar programmatūru. 581 00:23:25,690 --> 00:23:28,410 Tas ir vēl viens kopīgs paradigma, kur jūs esat veida 582 00:23:28,410 --> 00:23:31,010 strādājuši līdzās kāds, varbūt runājot 583 00:23:31,010 --> 00:23:32,360 Angļu, tikai naudas sodu, pseudocode. 584 00:23:32,360 --> 00:23:35,080 Bet tad runa ir laiks, lai faktiski iesniegt, un psets 585 00:23:35,080 --> 00:23:37,910 tikai iegūt apmainījās pa e-pastu vai Dropbox vai līdzīgu. 586 00:23:37,910 --> 00:23:41,120 Bet mēģinājums padarīt to mazāk skaidrs, ka šis ir 587 00:23:41,120 --> 00:23:44,830 kas ir noticis, tad tas ir tas, kas ir iesniegts. 588 00:23:44,830 --> 00:23:47,880 Arī tas nav ceļojums pat labi uzrakstīts gabalus 589 00:23:47,880 --> 00:23:50,360 programmatūru, piemēram, mums ir reāli atklāt 590 00:23:50,360 --> 00:23:51,280 šāda veida lietām. 591 00:23:51,280 --> 00:23:53,760 Un tiešām, ko mēs darām, ir palaist programmatūru, kas salīdzina visus 592 00:23:53,760 --> 00:23:55,540 šogad iesniegumiem pret visiem pagājušā gada s 593 00:23:55,540 --> 00:23:57,380 iesniegumi, pret ko mēs atrast 594 00:23:57,380 --> 00:24:00,060 Internets, pret katru darbu lapā, kas tur. 595 00:24:00,060 --> 00:24:01,710 Tas viss ir ļoti automatizēta. 596 00:24:01,710 --> 00:24:05,665 Un tāpēc mēs to patiešām liels taisnīgumu ar 97%, kas 597 00:24:05,665 --> 00:24:07,760 patiešām strādā viņu ēzeļi off šajā un citos 598 00:24:07,760 --> 00:24:11,530 klases un liekot visu šīs pūles, lai darbs 599 00:24:11,530 --> 00:24:13,030 viņi galu galā iesniegt ir viņu pašu. 600 00:24:13,030 --> 00:24:14,220 Un es varu iet uz vecumu. 601 00:24:14,220 --> 00:24:16,030 >> Tie ir tikai nedaudz pagājušā gada gadījumiem. 602 00:24:16,030 --> 00:24:19,350 Daži skolēni iesniedza šos failus identiski uz 2 PSET, 603 00:24:19,350 --> 00:24:22,460 PSET 3, PSET 4, PSET 5, PSET 6, PSET 9. 604 00:24:22,460 --> 00:24:26,360 Šajā gadījumā, tas bija viktorīnu 0 un pēdējā gadā, kad divi 605 00:24:26,360 --> 00:24:29,570 studenti iesniedza identiski šo teikumu starp daudzām 606 00:24:29,570 --> 00:24:32,210 citi, "pieprasījums - tipa" dot, dot, dot. 607 00:24:32,210 --> 00:24:34,530 Tik pat klasē 600 vai mēs atklāt šo 608 00:24:34,530 --> 00:24:36,310 gada iesniegti viktorīnas. 609 00:24:36,310 --> 00:24:39,080 Tātad īsumā, šo - atklāti sakot, es ienīstu ņemot šāda veida 610 00:24:39,080 --> 00:24:41,300 saruna - bet tas ir patiešām apzināta pūles 611 00:24:41,300 --> 00:24:43,540 Šogad, lai mēģinātu samazināt šo skaitu. 612 00:24:43,540 --> 00:24:45,650 Jo, pat ja mēs sakām šāda veida lietām ik 613 00:24:45,650 --> 00:24:48,100 gadu, es domāju realitāti, kas dwelled pie tā, lai maz 614 00:24:48,100 --> 00:24:50,800 vairāk sekundes nekā parasti un faktiski tikai norādot 615 00:24:50,800 --> 00:24:53,600 ka kāds varētu šķist, eh, nav tik liels darījumu, vismaz 616 00:24:53,600 --> 00:24:56,390 domāju, ka atpakaļ uz šo konkrēto brīdi, gan taisnīgumu, lai 617 00:24:56,390 --> 00:25:00,100 sevi un saviem klasesbiedriem šeit. 618 00:25:00,100 --> 00:25:02,480 Tātad, ja jums kādreiz ir kādi jautājumi par to, kur līnija 619 00:25:02,480 --> 00:25:04,290 ir, lūdzu, tikai panākt, lai mani personīgi. 620 00:25:04,290 --> 00:25:07,190 Bet atbilde vienmēr ir, pilnīgi uzsvēra 621 00:25:07,190 --> 00:25:09,090 pēdējā minūte, jo vēlu dienā naudas. 622 00:25:09,090 --> 00:25:11,080 Vai, ja tas ir jautājums, kam nav vēlīnu dienas, 623 00:25:11,080 --> 00:25:12,900 godīgi, rakstiet man personīgi. 624 00:25:12,900 --> 00:25:14,110 Mēs izdomāt kaut ko. 625 00:25:14,110 --> 00:25:17,480 Lūdzu nelieciet savu laiku šeit Hārvarda riskam. 626 00:25:17,480 --> 00:25:18,570 >> Tagad, es domāju, mēs būtu mazāk garastāvokli, tāpēc es 627 00:25:18,570 --> 00:25:20,264 iekļautas to kā nākamo slaidu. 628 00:25:20,264 --> 00:25:22,770 [Smiekli] 629 00:25:22,770 --> 00:25:23,630 David J. Malan: Šī mājas lapa bija lieliski. 630 00:25:23,630 --> 00:25:24,820 Es tiešām saņēmu mazliet apjucis. 631 00:25:24,820 --> 00:25:26,330 Tur tas ir viens. 632 00:25:26,330 --> 00:25:29,590 Un tad tas viens bija pārsteidzošs. 633 00:25:29,590 --> 00:25:35,190 Labi, tāpēc domāju, ka kaķēnu vēlu vakarā, veicot 634 00:25:35,190 --> 00:25:36,040 šie lēmumi. 635 00:25:36,040 --> 00:25:40,110 Labi, tāpēc jau vairāk jautrības un mazāk nopietnas sīkumi, piemēram, 636 00:25:40,110 --> 00:25:40,780 apstākļiem. 637 00:25:40,780 --> 00:25:43,900 >> Labi, tāpēc mēs runājām īsi par tiem. 638 00:25:43,900 --> 00:25:46,080 Tas ir kaut kas ir iespējams, diezgan pazīstams no 639 00:25:46,080 --> 00:25:47,260 pasaules nulles. 640 00:25:47,260 --> 00:25:49,860 Un pasaulē Scratch, mums ir šī vajadzība dažreiz 641 00:25:49,860 --> 00:25:51,110 iet padarīt dakšām uz ceļa. 642 00:25:51,110 --> 00:25:54,840 Nu darīt šo vai to, vai šī cita lieta šeit. 643 00:25:54,840 --> 00:25:58,990 Un, kad mēs vēlamies to darīt, mēs varam izmantot, jo C tagad, šo, ja 644 00:25:58,990 --> 00:26:00,860 cits būvēt. 645 00:26:00,860 --> 00:26:06,420 Un tad šeit mums ir Būla izteiksmes. 646 00:26:06,420 --> 00:26:09,260 Piemēram, Būla izteiksmes šeit, mēs varam VAI 647 00:26:09,260 --> 00:26:12,260 tos kopā, tādā nozīmē, ka mums ir šis nosacījums vai 648 00:26:12,260 --> 00:26:13,200 šis nosacījums. 649 00:26:13,200 --> 00:26:15,100 Mēs varam un tos kopā, tādā nozīmē, ka mēs vēlamies, lai 650 00:26:15,100 --> 00:26:17,710 pārbaudīt šo nosacījumu, un šis nosacījums. 651 00:26:17,710 --> 00:26:22,440 Un šeit mums ir slēdzi paziņojumu tagad, kas ir ne tik 652 00:26:22,440 --> 00:26:26,040 līdzīgi sintaktiski tām apstākļos veidu, taču tas 653 00:26:26,040 --> 00:26:30,160 ļauj mums darīt ekvivalentu, ja cits, ja cits, ja cits 654 00:26:30,160 --> 00:26:34,990 ja, un līdzīgi, vienkārši uzskaitot tiem katrā gadījumā atsevišķi 655 00:26:34,990 --> 00:26:36,670 ko katrā atsevišķā gadījumā. 656 00:26:36,670 --> 00:26:38,370 Tātad mēs redzējām tos pēdējo reizi. 657 00:26:38,370 --> 00:26:40,430 Un tad mēs sākām pieskaroties uz lietām, piemēram, cilpu. 658 00:26:40,430 --> 00:26:42,070 Mēs redzējām vienu no šiem tikai pirms brīža. 659 00:26:42,070 --> 00:26:44,180 Bet ir šie citi looping konstrukcijas. 660 00:26:44,180 --> 00:26:46,370 >> Piemēram, šo vienu šeit. 661 00:26:46,370 --> 00:26:50,140 Tāpēc, kamēr (nosacījums), darīt šo lietu atkal un atkal. 662 00:26:50,140 --> 00:26:53,070 Tātad būtībā, ko, šķiet, ir atšķirīgas šo 663 00:26:53,070 --> 00:26:55,760 cilpa un šī kamēr cilpa šeit? 664 00:27:00,810 --> 00:27:05,045 Šī cilpu un šī kamēr cilpa. 665 00:27:05,045 --> 00:27:07,840 Yeah? 666 00:27:07,840 --> 00:27:08,800 Ko tas nozīmē? 667 00:27:08,800 --> 00:27:10,050 Mērķauditorija: [nedzirdama]. 668 00:27:14,632 --> 00:27:15,120 David J. Malan: Labi. 669 00:27:15,120 --> 00:27:17,130 Tātad tā kā cilpa stāvoklī, tur ir skaidri 670 00:27:17,130 --> 00:27:17,940 vairāk sintakse. 671 00:27:17,940 --> 00:27:20,560 Tur tas ir inicializācijas, tur šis atjauninājums. 672 00:27:20,560 --> 00:27:23,820 Jo kamēr cilpa, tur ir tikai šis nosacījums. 673 00:27:23,820 --> 00:27:26,630 Tāpēc šķiet, ka tas ir mazliet salīdzinātas leju pret par 674 00:27:26,630 --> 00:27:28,770 cilpa, kas nozīmē, ja mēs vēlamies, lai būtu mainīgie un mēs vēlamies 675 00:27:28,770 --> 00:27:30,800 ir incrementation, mēs faktiski ir 676 00:27:30,800 --> 00:27:32,500 darīt šo lietu sevi. 677 00:27:32,500 --> 00:27:34,420 >> Tāpēc ļaujiet man iet uz priekšu un atvērt gedit. 678 00:27:34,420 --> 00:27:36,320 Ļaujiet man pārslēgties uz ierīci. 679 00:27:36,320 --> 00:27:38,110 Un pieņemsim tikai darīt ātri nedaudz piemēru, ka 680 00:27:38,110 --> 00:27:40,550 atšķir vienu no šiem citiem. 681 00:27:40,550 --> 00:27:42,490 Un uz muguras manuprāt šeit, es saku viena lieta. 682 00:27:42,490 --> 00:27:44,120 Es īpaši minēja vārdu Tim. 683 00:27:44,120 --> 00:27:47,740 Tim bija tiešām kāds, kas students centos atrast darīt 684 00:27:47,740 --> 00:27:48,680 savu mājasdarbu par viņiem. 685 00:27:48,680 --> 00:27:51,280 Mums nebija ne Timu konkrētajā sadaļā. 686 00:27:51,280 --> 00:27:53,690 Tātad saproti, ka ne man atklāti students, tas nebija students. 687 00:27:53,690 --> 00:27:55,720 Tas bija nejauši internetā cilvēks dara lietas 688 00:27:55,720 --> 00:27:57,180 ar proxy pagājušajā gadā. 689 00:27:57,180 --> 00:27:58,670 Tātad mēs redzam, ka, pārāk. 690 00:27:58,670 --> 00:28:00,630 Tātad šajā gadījumā šeit, ļaujiet man iet uz priekšu un 691 00:28:00,630 --> 00:28:02,810 atvērt jaunu failu. 692 00:28:02,810 --> 00:28:04,800 Failu, Jauns. 693 00:28:04,800 --> 00:28:06,050 Tas dod man cilni šeit. 694 00:28:06,050 --> 00:28:09,940 Ļaujiet man iet uz priekšu un saglabājiet to kā loop.c. 695 00:28:09,940 --> 00:28:11,810 Ļaujiet man aiziet un noklikšķiniet uz Saglabāt. 696 00:28:11,810 --> 00:28:15,340 Un tad noteikti šeit, iesim uz priekšu un sākt rakstīt 697 00:28:15,340 --> 00:28:16,605 # Ietvert . 698 00:28:19,116 --> 00:28:20,520 Ļaujiet man pietuvinātu objektu 699 00:28:20,520 --> 00:28:23,410 Tagad mēs darīsim int galvenais (spēkā neesošs). 700 00:28:23,410 --> 00:28:30,020 Tagad ļaujiet man iet uz priekšu un darīt uz (int i = 0, i < 701 00:28:30,020 --> 00:28:33,480 ak, 10; i + +). 702 00:28:33,480 --> 00:28:36,620 Un tagad es esmu gatavojas iet uz priekšu un darīt izdrukāt zvaigzne ka es 703 00:28:36,620 --> 00:28:37,890 darīja agrāk. 704 00:28:37,890 --> 00:28:39,390 Un tad beigās šo programmu, mēs esam tikai gatavojas 705 00:28:39,390 --> 00:28:41,130 drukāt jaunu līniju, tikai tāpēc, ka mana tūlītēja 706 00:28:41,130 --> 00:28:42,470 neizskatās visu netīrs. 707 00:28:42,470 --> 00:28:45,170 atgriezties 0. 708 00:28:45,170 --> 00:28:47,610 Šķiet sintaktiski pareizi? 709 00:28:47,610 --> 00:28:48,040 Līdz šim. 710 00:28:48,040 --> 00:28:48,560 Tātad, pieņemsim redzēt. 711 00:28:48,560 --> 00:28:51,290 >> Tāpēc ļaujiet man tālināt, iet manā termināļa loga. 712 00:28:51,290 --> 00:28:54,570 Un ļaujiet man iet uz priekšu un palaist cilpas, jo es sauc šo 713 00:28:54,570 --> 00:28:55,690 lieta loop.c. 714 00:28:55,690 --> 00:28:56,780 Tātad, lai cilpa. 715 00:28:56,780 --> 00:28:57,840 Šķiet, lai apkopotu Labi. 716 00:28:57,840 --> 00:29:00,210 Ļaujiet man palaist cilpas, un tagad Enter. 717 00:29:00,210 --> 00:29:01,820 Un tas, šķiet, ir izdrukāt 10 zvaigznes. 718 00:29:01,820 --> 00:29:03,780 Tāpēc pieņemsim tikai pārvērstu to, kamēr cilpa un redzēt, ko 719 00:29:03,780 --> 00:29:05,220 veidu jautājumiem mēs paklupt. 720 00:29:05,220 --> 00:29:11,290 Tā vietā, ļaujiet man iet šeit un teikt, bet es ir 721 00:29:11,290 --> 00:29:12,760 mazāk nekā 10 - 722 00:29:12,760 --> 00:29:14,910 ļaujiet man atbrīvoties no cilpa. 723 00:29:14,910 --> 00:29:17,170 Labi, tāpēc mums ir pāris problēmas jau. 724 00:29:17,170 --> 00:29:21,110 Tātad nosacījums ir tas pats, bet es esmu acīmredzot trūkst 725 00:29:21,110 --> 00:29:21,680 inicializācija. 726 00:29:21,680 --> 00:29:23,840 Es esmu trūkst incrementation. 727 00:29:23,840 --> 00:29:28,020 Tātad, ko kompilators varētu man pateikt, kad es mēģinātu 728 00:29:28,020 --> 00:29:29,170 apkopot šo programmu? 729 00:29:29,170 --> 00:29:29,666 Yeah? 730 00:29:29,666 --> 00:29:31,154 Mērķauditorija: [nedzirdama]. 731 00:29:31,154 --> 00:29:31,650 >> David J. Malan: Labi. 732 00:29:31,650 --> 00:29:34,180 Tātad tas notiek, lai pateikt kaut ko līdzīgu nereģistrētu - šajā 733 00:29:34,180 --> 00:29:35,280 gadījumā, mainīgo i. 734 00:29:35,280 --> 00:29:37,980 Un tiešām, izmantot nedeklarētu identifikators i. 735 00:29:37,980 --> 00:29:40,960 Un tā tas ir pretrunā ar valodas, piemēram, PHP un 736 00:29:40,960 --> 00:29:43,120 Python un Ruby, ar kuru daži no jums varētu būt pazīstams, 737 00:29:43,120 --> 00:29:44,820 kur jūs varat vienkārši veida sākuma, izmantojot mainīgos lielumus 738 00:29:44,820 --> 00:29:47,420 Willy-nilly un nav jāuztraucas par deklarējot tos 739 00:29:47,420 --> 00:29:48,560 skaidri vienmēr. 740 00:29:48,560 --> 00:29:51,770 C un tādās valodās kā Java un C + +, jums ir jābūt 741 00:29:51,770 --> 00:29:53,020 super skaidra. 742 00:29:53,020 --> 00:29:55,760 Un, ja jūs vēlaties, mainīgo sauc I, jums ir, lai man pateikt 743 00:29:55,760 --> 00:29:57,360 kāda veida mainīgo tas ir. 744 00:29:57,360 --> 00:29:59,360 Tāpēc mēs esam nāksies noteikt šo šādi. 745 00:29:59,360 --> 00:30:05,510 Es esmu nāksies iet uz augšu šeit un rakstiet int i, tāpēc 746 00:30:05,510 --> 00:30:07,860 Man ir paziņojuši mainīgo sauc i. 747 00:30:07,860 --> 00:30:09,180 Tagad es esmu izlaidis vienu soli. 748 00:30:09,180 --> 00:30:11,340 Man, protams, nav inicializēts, bet pieņemsim redzēt, ja tas ir 749 00:30:11,340 --> 00:30:13,650 Vismaz padara šķindēt pietura sūdzību. 750 00:30:13,650 --> 00:30:15,770 Tāpēc ļaujiet man pārtaisīt šo programmu. 751 00:30:15,770 --> 00:30:16,770 >> Labi, tagad tas ir tikai sūdzas 752 00:30:16,770 --> 00:30:17,870 cita iemesla dēļ. 753 00:30:17,870 --> 00:30:21,130 "Mainīgais" i "tiek neinicializēts ja izmanto šeit." Labi, lai 754 00:30:21,130 --> 00:30:22,340 tas ir diezgan skaidri. 755 00:30:22,340 --> 00:30:25,510 Inicializēts tikai nozīmē nosakot to vienāds ar vērtību. 756 00:30:25,510 --> 00:30:30,820 Un mēs esam nav darījuši, tāpēc ļaujiet man mēģināt vienāds ar 0. 757 00:30:30,820 --> 00:30:35,030 Tagad pamēģināsim atkal un atkal palaist šķindēt. 758 00:30:35,030 --> 00:30:36,140 Apkopoti šo laiku. 759 00:30:36,140 --> 00:30:37,210 Un es esmu par, lai palaistu to. 760 00:30:37,210 --> 00:30:43,120 Bet liels vecs bezgalīga cilpa, jo es esmu darījusi 761 00:30:43,120 --> 00:30:45,530 inicializācijas, es esmu darījusi to stāvokli, bet es nekad neesmu darījusi 762 00:30:45,530 --> 00:30:47,030 jebkāda veida incrementation. 763 00:30:47,030 --> 00:30:48,780 Tātad, kā es varu darīt to incrementation? 764 00:30:48,780 --> 00:30:51,170 Nu, tādā kamēr cilpa, tā uzskata, tāpat es esmu nāksies 765 00:30:51,170 --> 00:30:54,180 to darīt iekšpusē no cilpas, jo daudz tāpat kā pirmā 766 00:30:54,180 --> 00:30:56,570 nedēļas piemēri dara looping konstrukcijas, piemēram, ar 767 00:30:56,570 --> 00:30:59,040 zeķes un ar sevis skaitīšanas, mums bija jādara 768 00:30:59,040 --> 00:31:01,550 kaut pašās beigās, gribētu atgriezties uz nākamo rindiņu. 769 00:31:01,550 --> 00:31:05,040 Ko darīt, ja es iet uz priekšu un darīt i + + šeit? 770 00:31:05,040 --> 00:31:06,030 Pieņemsim nav pat apkopot šo. 771 00:31:06,030 --> 00:31:06,890 Nozvejas mani jau. 772 00:31:06,890 --> 00:31:09,704 Kas ir nepareizi šeit? 773 00:31:09,704 --> 00:31:10,690 Mērķauditorija: [nedzirdama]. 774 00:31:10,690 --> 00:31:11,770 >> David J. Malan: Tātad tas noteikti nav int. 775 00:31:11,770 --> 00:31:13,080 Tas ir man. 776 00:31:13,080 --> 00:31:15,110 Un cirtaini bikšturi, kā līdz šim, 777 00:31:15,110 --> 00:31:16,800 ierobījums nepietiek. 778 00:31:16,800 --> 00:31:18,410 Tāpēc tagad man ir tas būvēt. 779 00:31:18,410 --> 00:31:21,780 Tāpēc, kamēr es ir mazāks par 10, drukāt zvaigzne, 780 00:31:21,780 --> 00:31:23,220 tad pieauguma i. 781 00:31:23,220 --> 00:31:25,680 Un kā kamēr cilpa darbojas, ka, tiklīdz jūs hit 782 00:31:25,680 --> 00:31:29,630 apakšējā no cilpas, kas šajā gadījumā izskatās, piemēram, 10 līnija, 783 00:31:29,630 --> 00:31:32,880 tas notiek, lai dotos atpakaļ uz 6 līniju, kurā brīdī 784 00:31:32,880 --> 00:31:34,400 nosacījums tiks pārbaudīti vēlreiz. 785 00:31:34,400 --> 00:31:37,500 Un ja es vēl joprojām ir mazāks par 10, mēs darīsim līnijām 8 un 786 00:31:37,500 --> 00:31:41,250 tad 9, tad mēs hit 10, un doties atpakaļ uz 6, atkal un 787 00:31:41,250 --> 00:31:45,580 atkal un atkal un atkal, kamēr es ir mazāks par 10. 788 00:31:45,580 --> 00:31:47,860 Tātad pieņemsim atkārtoti palaist darīt šeit. 789 00:31:47,860 --> 00:31:48,940 >> Labi, mēs esam apkopoti labi. 790 00:31:48,940 --> 00:31:50,300 Ļaujiet man atkārtoti palaist cilpa. 791 00:31:50,300 --> 00:31:52,620 Un tagad tas tiešām šķiet, darbu. 792 00:31:52,620 --> 00:31:55,100 Tātad plusi un mīnusi šeit? 793 00:31:55,100 --> 00:31:58,910 Nu, līdz šim tur tiešām nav viss PLO - 794 00:31:58,910 --> 00:31:59,420 tik gudrs. 795 00:31:59,420 --> 00:32:01,870 Labi, ka bija - ak, tas bija nelaimes gadījums. 796 00:32:01,870 --> 00:32:05,200 Visiem labi, tāpēc iesim atpakaļ uz cilpa. 797 00:32:05,200 --> 00:32:07,530 Tāpēc cilpas ir jauki, jo viņi super skaidra. 798 00:32:07,530 --> 00:32:09,720 Un, pat ja viņi mazliet clunky rakstīt, tas ir 799 00:32:09,720 --> 00:32:11,500 ļoti spēcīgs un tas ļauj jums darīt 800 00:32:11,500 --> 00:32:12,980 vairākas lietas vienlaicīgi. 801 00:32:12,980 --> 00:32:16,240 Bet cilpas nav, šķiet, ir milzīgs daudzums vērtības tikko 802 00:32:16,240 --> 00:32:18,500 vēl, jo tā uzskata, tāpat kā mēs vienkārši ir jādara vairāk darba. 803 00:32:18,500 --> 00:32:20,670 Mums ir likts inicializācijas šeit, tad 804 00:32:20,670 --> 00:32:23,480 atjaunināt uz leju šeit, un mums ir jāatceras, lai darīt visu. 805 00:32:23,480 --> 00:32:26,260 Tātad mēs redzam laiku, kamēr cilpas tiešām aizdot 806 00:32:26,260 --> 00:32:29,380 paši, lai tikai dažādos kontekstos, dažādi dati 807 00:32:29,380 --> 00:32:33,900 struktūras, piemēram sarakstiem un hash tabulu, lietas mēs nokļūt 808 00:32:33,900 --> 00:32:34,970 Mid-semestris. 809 00:32:34,970 --> 00:32:37,900 Bet tagad, zinu, ka tur ir šis trešais veids pazīstams kā do- 810 00:32:37,900 --> 00:32:38,480 kamēr cilpa. 811 00:32:38,480 --> 00:32:39,540 Un mēs esam redzējuši šo īsi. 812 00:32:39,540 --> 00:32:41,830 Un tas varētu būt super noderīga ar 1 PSET. 813 00:32:41,830 --> 00:32:45,570 Jebkurā laikā jūs vēlaties darīt kaut ko, un tad pārbaudiet, vai 814 00:32:45,570 --> 00:32:48,940 lietotājs sadarbojās, un, ja tās nav, to darīt atkal, do- 815 00:32:48,940 --> 00:32:51,460 kamēr cilpa pakļauj sevi šāda veida loģiku. 816 00:32:51,460 --> 00:32:55,640 Jo, kā no augšas pasūtīšanas uz leju šeit liecina, 817 00:32:55,640 --> 00:32:57,750 do burtiski nozīmē darīt. 818 00:32:57,750 --> 00:32:59,830 Un darīt atkal un atkal, kādi varētu būt? 819 00:32:59,830 --> 00:33:03,000 Varbūt tas nozīmē, aicinot GetInt vai GetString un tad 820 00:33:03,000 --> 00:33:05,830 pārbaudot vērtību GetInt vai GetString un tad kliegt 821 00:33:05,830 --> 00:33:08,260 pie lietotāju, ja viņi nav sadarbojušies lūdzot 822 00:33:08,260 --> 00:33:10,100 atkal un atkal un atkal. 823 00:33:10,100 --> 00:33:11,730 Kur jūs vēlaties darīt kaut ko vienu reizi, 824 00:33:11,730 --> 00:33:13,210 pēc tam pārbauda kādu stāvokli. 825 00:33:13,210 --> 00:33:14,110 >> Tāpēc pieņemsim mēģināt šo. 826 00:33:14,110 --> 00:33:17,130 Ļaujiet man tiešām mainīt tagad do-kamēr cilpa. 827 00:33:17,130 --> 00:33:18,830 Un es esmu gatavojas iet uz priekšu un darīt tālāk. 828 00:33:18,830 --> 00:33:21,830 Tā darīt tālāk. 829 00:33:21,830 --> 00:33:26,870 Darīsim int i = GetInt (), bet pieņemsim vispirms pateikt lietotājam 830 00:33:26,870 --> 00:33:27,410 ko darīt. 831 00:33:27,410 --> 00:33:29,050 Tāpēc nedaudz atšķiras šoreiz. 832 00:33:29,050 --> 00:33:31,270 "Dodiet man int". 833 00:33:31,270 --> 00:33:32,910 Tāpēc es ņemšu izmantot printf par to. 834 00:33:32,910 --> 00:33:35,740 Un tagad es esmu gatavojas iet uz leju šeit, un es esmu gatavojas darīt 835 00:33:35,740 --> 00:33:41,520 kamēr es ir, teiksim, lielāks - 836 00:33:41,520 --> 00:33:47,540 pieņemsim redzēt, man ir, teiksim, mazāk nekā 0, vai i ir 837 00:33:47,540 --> 00:33:48,730 lielāka nekā 10. 838 00:33:48,730 --> 00:33:51,810 Citiem vārdiem sakot, es gribu skaitli no 1 līdz 9, vienkārši 839 00:33:51,810 --> 00:33:52,720 patvaļīgi. 840 00:33:52,720 --> 00:33:55,290 Tāpēc es esmu, izmantojot kombinēto Būla izteiksme šeit 841 00:33:55,290 --> 00:33:59,930 pārliecinieties, ka man ir mazāks par 0 vai lielāks par 10, kurā 842 00:33:59,930 --> 00:34:02,530 Ja man būs darīt cilpa šeit atkal. 843 00:34:02,530 --> 00:34:04,400 Tātad vēlreiz, darīt - 844 00:34:04,400 --> 00:34:08,480 kamēr es ir mazāks par 0 vai man ir lielāks par 10. 845 00:34:08,480 --> 00:34:11,440 >> Tāpēc tagad iesim uz priekšu un darīt, kad mēs esam darījuši. 846 00:34:11,440 --> 00:34:13,270 Pieņemsim tikai darīt ātri veselība pārbaudītu. 847 00:34:13,270 --> 00:34:18,929 printf ("Paldies, man ir% d", i). 848 00:34:18,929 --> 00:34:21,350 Tāpēc šis vienkārša programma prasa lietotājam par int, 849 00:34:21,350 --> 00:34:24,000 padara pārliecināts, ka tas ir robežās kādu no 1 līdz 9 ieskaitot, 850 00:34:24,000 --> 00:34:26,280 un tad pateicas lietotājam, atgādinot viņiem, ko viņi tikko 851 00:34:26,280 --> 00:34:27,940 drukāti, tāpat kā mazliet veselība pārbaudītu. 852 00:34:27,940 --> 00:34:30,659 Bet pieņemsim redzēt, ja tas darbojas, kā paredzēts. 853 00:34:30,659 --> 00:34:34,533 Ļaujiet man iet galvu uz leju šeit un atkal palaist padarīt cilpa. 854 00:34:34,533 --> 00:34:35,350 Hmm. 855 00:34:35,350 --> 00:34:38,600 "Izmantošana nedeklarētu identifikators 'i'". Tas ir dīvaini. 856 00:34:38,600 --> 00:34:41,509 Es domāju, ka mēs atrisināt to. 857 00:34:45,489 --> 00:34:47,560 Pats simptoms, bet atšķirīgas kodu. 858 00:34:47,560 --> 00:34:47,899 Yeah? 859 00:34:47,899 --> 00:34:50,191 Mērķauditorija: [dzirdams] iekšpusē diviem, mums ir 860 00:34:50,191 --> 00:34:52,639 [Nedzirdama]. 861 00:34:52,639 --> 00:34:53,260 >> David J. Malan: Tieši tā. 862 00:34:53,260 --> 00:34:55,989 Tātad tas faktiski noved mūs pie tēmu pazīstams kā joma. 863 00:34:55,989 --> 00:34:59,350 Izrādās, ka C, atkal, tas tiešām ved burtiski. 864 00:34:59,350 --> 00:35:02,970 Un, ja jūs kaut kas līdzīgs šim, kur deklarēt int 865 00:35:02,970 --> 00:35:06,120 un tad piešķirt tam dažas vērtību, bet jūs darīt, iekšpuse 866 00:35:06,120 --> 00:35:09,840 Pāris cirtaini bikšturi, kas C tas ir tas pieņemts, ka jums 867 00:35:09,840 --> 00:35:14,800 tikai vēlaties šos 32 bitus sauc par I pastāvēt 868 00:35:14,800 --> 00:35:18,200 Saistībā ar šīm cirtaini bikšturi, ietvaros līniju 869 00:35:18,200 --> 00:35:22,420 6 līdz 9. Tāpēc es ir deklarēta, un tas tiek piešķirts 870 00:35:22,420 --> 00:35:26,530 vērtība 8 rindā, bet, tiklīdz jūs saņemsiet ārpus 871 00:35:26,530 --> 00:35:30,270 zem cirtaini lencēm līniju 9, man vairs nav 872 00:35:30,270 --> 00:35:31,910 jomu, lai runāt. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. Tas vairs pareizajā kontekstā. 874 00:35:35,030 --> 00:35:37,940 Tāpēc tagad nav man, tāpēc tas ir, it kā mums bija pat 875 00:35:37,940 --> 00:35:38,770 deklarēta to visu. 876 00:35:38,770 --> 00:35:41,520 >> Tātad, kas ir noteikt, tad kaut kas līdzīgs šim, ja 877 00:35:41,520 --> 00:35:44,300 Iemesls ir tas, ka es ir deklarētas cirtaini bikšturi, kas 878 00:35:44,300 --> 00:35:45,120 ir acīmredzami slikti? 879 00:35:45,120 --> 00:35:45,410 Šeit? 880 00:35:45,410 --> 00:35:46,820 Mērķauditorija: [nedzirdama]. 881 00:35:46,820 --> 00:35:47,150 David J. Malan: Jā. 882 00:35:47,150 --> 00:35:48,710 Tātad, mēs varam inicializēt to ārā. 883 00:35:48,710 --> 00:35:53,530 Tāpēc ļaujiet man iet uz priekšu un dzēst deklarācijas daļas saskaņā ar kurām 884 00:35:53,530 --> 00:35:55,820 Es norādīt veidu, un ļaujiet man darīt to šeit. 885 00:35:55,820 --> 00:36:00,220 Tātad 5 rindā, tagad saka: "Dodiet man int." Zvanīt tas i. 886 00:36:00,220 --> 00:36:03,400 Pamanīt 9 rindā, es nevēlos to darīt, jo es 887 00:36:03,400 --> 00:36:04,830 jau ir 32 biti. 888 00:36:04,830 --> 00:36:06,140 Es nevēlos lūgt dators 889 00:36:06,140 --> 00:36:07,630 dažādi 32 biti. 890 00:36:07,630 --> 00:36:09,850 Es vēlos izmantot šo pašu 32 bitus. 891 00:36:09,850 --> 00:36:13,190 Un tagad, jo es ir deklarēta 5 rindā, tas joprojām ir legit 892 00:36:13,190 --> 00:36:16,550 to izmantot 11 līnijas un līnija 12. 893 00:36:16,550 --> 00:36:19,310 >> Tāpēc ļaujiet man mēģināt recompile šo un redzēt 894 00:36:19,310 --> 00:36:20,490 ja šķindēt apstājas kliegt. 895 00:36:20,490 --> 00:36:22,380 padarīt cilpa. 896 00:36:22,380 --> 00:36:25,470 Tāpēc tagad tas ir "netiešs deklarācija funkcijas 897 00:36:25,470 --> 00:36:29,880 "GetInt" ir nederīgs C99 "Kas ir tas, ka.? 898 00:36:29,880 --> 00:36:30,400 Yeah? 899 00:36:30,400 --> 00:36:32,330 Mērķauditorija: [nedzirdama]. 900 00:36:32,330 --> 00:36:32,690 David J. Malan: Jā. 901 00:36:32,690 --> 00:36:35,520 Tāpēc tagad, ka es esmu faktiski izmantojot GetInt, tas nav kaut kas 902 00:36:35,520 --> 00:36:38,190 kas tikai nāk ar C. Tas nāk no CS50. 903 00:36:38,190 --> 00:36:39,890 Tāpēc mums ir nepieciešams šo šeit. 904 00:36:39,890 --> 00:36:41,450 Un ļaujiet man iet atpakaļ uz tūlītēju leju 905 00:36:41,450 --> 00:36:43,500 šeit un atkārtoti palaist darīt. 906 00:36:43,500 --> 00:36:44,160 Labi, beidzot. 907 00:36:44,160 --> 00:36:46,270 Tagad mēs esam nolēma, ka un citu kļūdas. 908 00:36:46,270 --> 00:36:48,930 Ļaujiet man tagad palaist cilpu un redzēt, kas notiek. 909 00:36:48,930 --> 00:36:51,740 "Dodiet man int." Es arī tā 11. 910 00:36:51,740 --> 00:36:53,100 Es arī tā -1. 911 00:36:53,100 --> 00:36:54,470 Es arī tā foo. 912 00:36:54,470 --> 00:36:56,080 Es arī tā 5. 913 00:36:56,080 --> 00:36:57,450 Un tagad tas patiešām darbojas. 914 00:36:57,450 --> 00:36:59,410 Bet ātri mainīja par iemeslu šeit. 915 00:36:59,410 --> 00:37:02,800 Kāpēc tā saku atkārtojuma vienu no šiem laikiem, bet man 916 00:37:02,800 --> 00:37:03,920 int pārējās trīs reizes? 917 00:37:03,920 --> 00:37:05,500 Kāpēc ir tā, ka uzvedība atšķiras? 918 00:37:05,500 --> 00:37:06,980 Mērķauditorija: deva tam virkni. 919 00:37:06,980 --> 00:37:07,830 David J. Malan: Atvaino? 920 00:37:07,830 --> 00:37:08,570 Mērķauditorija: Tu deva tam virkni. 921 00:37:08,570 --> 00:37:08,990 David J. Malan: Jā. 922 00:37:08,990 --> 00:37:11,450 Tātad mēs deva tam virkni šajā trešo mēģinājumu, 923 00:37:11,450 --> 00:37:12,490 kad es drukāti foo. 924 00:37:12,490 --> 00:37:13,200 Foo ir virkne. 925 00:37:13,200 --> 00:37:14,340 Tas acīmredzot nav int. 926 00:37:14,340 --> 00:37:17,500 Un tā, ka CS50 ir īstenojusi GetInt ir, ka mēs 927 00:37:17,500 --> 00:37:20,330 nepārbauda, ​​vai kaut kas ir zemāka par 0 vai lielāks par 10 928 00:37:20,330 --> 00:37:22,260 jums, jo kā mēs zinām, jau iepriekš, kāda veida 929 00:37:22,260 --> 00:37:23,130 int jūs vēlaties? 930 00:37:23,130 --> 00:37:25,880 Bet mēs varam minimāli pārbaudīt jums, tomēr lietotājam vismaz 931 00:37:25,880 --> 00:37:26,730 rakstiet skaitlim? 932 00:37:26,730 --> 00:37:30,500 Un, ja viņi nav, mēs bļaut uz lietotāju, ierakstot "retry" par 933 00:37:30,500 --> 00:37:31,440 ekrāns. 934 00:37:31,440 --> 00:37:34,210 >> Tāpēc tagad mums ir programma, kas ir looping. Labi. 935 00:37:34,210 --> 00:37:37,070 Tagad, kura no tām ir sava veida labāk būvēt? 936 00:37:37,070 --> 00:37:39,060 Tātad tas ir, ja lietas sāk iegūt mazliet netīrs, 937 00:37:39,060 --> 00:37:42,360 Tas, ka jums ir jāatceras, lai deklarēt mainīgo šeit 938 00:37:42,360 --> 00:37:44,630 ja jūs vēlaties izmantot to iekšpusē dažu 939 00:37:44,630 --> 00:37:46,460 cirtaini bikšturi un ārpuses. 940 00:37:46,460 --> 00:37:48,490 Bet, pat ja tas izskatās mazliet noslēpumains sākumā 941 00:37:48,490 --> 00:37:50,750 skatienu, tikai atkal, atcerieties vienkāršu loģiku. 942 00:37:50,750 --> 00:37:54,630 Lai izmantotu kaut ko C, vai tas ir funkcija vai 943 00:37:54,630 --> 00:37:57,680 tas mainīgais, jums ir jāiekļauj, ja tas ir funkcija 944 00:37:57,680 --> 00:37:59,770 kādā bibliotēkā, vai jums ir nepieciešams atzīt to. 945 00:37:59,770 --> 00:38:02,405 Bet tagad jums ir jābūt papildu norūpējusies par to, ka 946 00:38:02,405 --> 00:38:04,940 jūs atzīstot to tiesības jomu. 947 00:38:04,940 --> 00:38:08,150 Jūs neesat liekot to pārāk cieši iekšpusē iekavās. 948 00:38:08,150 --> 00:38:09,410 >> Tāpēc ļaujiet man tiešām roll atpakaļ. 949 00:38:09,410 --> 00:38:12,660 Ja mēs ejam atpakaļ uz mūsu piemēram, no agrāk, un es iet 950 00:38:12,660 --> 00:38:19,245 atpakaļ uz lai int, int i = 0, i <10; i + +, un es 951 00:38:19,245 --> 00:38:26,370 do printf zvaigznes, kā šis, un tad ciešu paren, un tagad 952 00:38:26,370 --> 00:38:30,410 printf i ir tagad - 953 00:38:30,410 --> 00:38:33,500 Saskaņā ar to pašu loģiku, kas notiks, kad es mēģinātu 954 00:38:33,500 --> 00:38:35,500 apkopot šo programmu? 955 00:38:35,500 --> 00:38:36,790 AUDITORIJA: Invalid identifikators. 956 00:38:36,790 --> 00:38:38,560 David J. Malan: Tātad tas ir cits derīgs identifikators, 957 00:38:38,560 --> 00:38:39,470 nedeklarētu identifikators. 958 00:38:39,470 --> 00:38:41,810 Tagad iemesls ir nedaudz atšķirīgs. 959 00:38:41,810 --> 00:38:44,370 Ir acīmredzami nav cirtaini bikšturi šeit, bet pats 960 00:38:44,370 --> 00:38:46,790 Ideja, pats stāsts par darbības jomu attiecas. 961 00:38:46,790 --> 00:38:50,340 Ja jums ir paziņojuši mainīgo, piemēram, es iekšā 962 00:38:50,340 --> 00:38:53,960 cilpa, pat ja jums nav skaidri rakstīts cirtaini 963 00:38:53,960 --> 00:38:56,980 bikšturi, domā par tiem garīgi, kā vēl to tur, kur 964 00:38:56,980 --> 00:39:00,310 Ja man ir derīga tikai iekšpusē cilpa. 965 00:39:00,310 --> 00:39:03,080 Tā nav derīga, kad jums uz nākamo līniju, kas 966 00:39:03,080 --> 00:39:05,090 šī lieta ir tagad 10. 967 00:39:05,090 --> 00:39:09,060 Tāpēc tikai daži jautājumi par apjomu un līdzīgu. 968 00:39:09,060 --> 00:39:12,620 Viss labais, kādi jautājumi? 969 00:39:12,620 --> 00:39:15,310 >> Labi, tāpēc šis ir sava veida triviāls maz programmu, 970 00:39:15,310 --> 00:39:17,450 drukā tieši maz zvaigznes. 971 00:39:17,450 --> 00:39:20,400 Bet pieņemsim redzēt, ja jūs atceraties šo dziesmu šeit. 972 00:39:20,400 --> 00:39:22,530 Tas ir neticami kaitinošas dziesma bērni varētu dziedāt par 973 00:39:22,530 --> 00:39:23,550 skolas autobuss un līdzīgi. 974 00:39:23,550 --> 00:39:25,990 Bet kas ir jauka par to, ka tas ir šo cikliskumu, 975 00:39:25,990 --> 00:39:27,910 kuru tas "99 pudeles alus pie sienas, 976 00:39:27,910 --> 00:39:28,520 99 pudeles alus. 977 00:39:28,520 --> 00:39:31,030 Ņem vienu uz leju, iet tā apkārt, 98 pudeles alus par 978 00:39:31,030 --> 00:39:34,330 sienu. "Un tad dziesma atkārto 97, tad 96, tad 979 00:39:34,330 --> 00:39:38,040 95, tad 94, visu ceļu uz leju līdz 0, ja jūs tiešām got ka 980 00:39:38,040 --> 00:39:38,920 tālu uz autobusu. 981 00:39:38,920 --> 00:39:41,960 Tātad šī ir jauka programma, lai sakārtotu un agregātu, jo mani 982 00:39:41,960 --> 00:39:43,650 Dievs, ja jūs varētu tikai ieviest to ar maz 983 00:39:43,650 --> 00:39:46,660 rindas kods, jūs varētu izspļaut visu lyrics uz šo 984 00:39:46,660 --> 00:39:48,240 Dziesma diezgan ātri. 985 00:39:48,240 --> 00:39:50,420 Bet pa ceļam, mēs varam sākt tagad kaitināt intervālu daži 986 00:39:50,420 --> 00:39:52,460 Šo pamata looping konstrukcijas un tagad arī 987 00:39:52,460 --> 00:39:55,830 ieviest funkcijas, kas mums rakstīt sevi, atgriezties vērtības 988 00:39:55,830 --> 00:39:57,020 ka mums iet apkārt. 989 00:39:57,020 --> 00:39:58,910 Bet vispirms, kāpēc nav mēs iet uz priekšu un veikt mūsu piecu minūšu 990 00:39:58,910 --> 00:39:59,320 pauze šeit? 991 00:39:59,320 --> 00:40:01,480 Un, kad mēs saņemam atpakaļ, mēs dziedam šo dziesmu. 992 00:40:05,680 --> 00:40:08,760 >> Labi, tāpēc mēs esam atpakaļ. 993 00:40:08,760 --> 00:40:11,850 Un kad es saku, ka mēs tagad dziedam šo dziesmu, es domāju 994 00:40:11,850 --> 00:40:13,250 programmiski, ne mutiski. 995 00:40:13,250 --> 00:40:19,370 Tātad šeit mums ir beer1.c, kas ir viens īstenošana šī 996 00:40:19,370 --> 00:40:20,580 īpaši dziesma. 997 00:40:20,580 --> 00:40:23,110 Un tikai, lai būtu skaidrs, tiem svešs ar to, ko 998 00:40:23,110 --> 00:40:24,460 Šī lieta izskatās, ļaujiet man iet uz priekšu 999 00:40:24,460 --> 00:40:27,070 un padarīt beer1, Enter. 1000 00:40:27,070 --> 00:40:30,400 Tagad ļaujiet man palaist beer1, un ko mēs redzēsim - cik pudeles 1001 00:40:30,400 --> 00:40:31,140 Alus būs tur būt? 1002 00:40:31,140 --> 00:40:33,240 Es rakstīt 99, tāpat dziesma saka. 1003 00:40:33,240 --> 00:40:34,040 Enter. 1004 00:40:34,040 --> 00:40:35,650 Un tagad, ja mēs ritinātu - 1005 00:40:35,650 --> 00:40:38,280 hmm - ja mēs ritinātu visu, mēs redzam, ka 1006 00:40:38,280 --> 00:40:41,350 Šis patiešām dzied visu dziesmu. 1007 00:40:44,050 --> 00:40:44,540 Pagaidiet minūti. 1008 00:40:44,540 --> 00:40:46,240 Mans ritjosla ir nedaudz messed up. 1009 00:40:46,240 --> 00:40:47,940 Pieņemsim izmantot lielāku logu. 1010 00:40:47,940 --> 00:40:53,500 Tātad beer1, 99, tur mums iet. 1011 00:40:53,500 --> 00:40:56,420 Tātad šeit mums ir visu dziesmu, dziedājis daudz ātrāk 1012 00:40:56,420 --> 00:40:58,450 dators, nekā tas varētu būt bijis ar mums. 1013 00:40:58,450 --> 00:41:00,340 Tātad paziņojums, lai gan, ciklisko raksturu šeit. 1014 00:41:00,340 --> 00:41:03,380 Tajā teikts 99, tad 99, tad "ņemt vienu uz leju, nodot to 1015 00:41:03,380 --> 00:41:04,740 apkārt ", tad 98. 1016 00:41:04,740 --> 00:41:06,640 Un tagad tas atkārtojas atkal un atkal. 1017 00:41:06,640 --> 00:41:08,840 >> Tātad tas ir faktiski lieliska iespēja kādu 1018 00:41:08,840 --> 00:41:10,400 looping būvēt. 1019 00:41:10,400 --> 00:41:12,950 Ievērojiet, ka es esmu veida griešanas stūrī šeit. 1020 00:41:12,950 --> 00:41:15,960 Ievērojiet, ka es saku "98 pudeles alus pie sienas, 1021 00:41:15,960 --> 00:41:19,010 97 pudeles alus pie sienas, "un tas bija tikai tik 1022 00:41:19,010 --> 00:41:21,640 ka tad, kad mēs ar vienu alus pudeles, man nav 1023 00:41:21,640 --> 00:41:23,300 jāuztraucas par angļu valodas gramatikas. 1024 00:41:23,300 --> 00:41:25,790 Bet mēs varam arī noteikt to ar mazliet ja 1025 00:41:25,790 --> 00:41:26,910 nosacījums, varbūt. 1026 00:41:26,910 --> 00:41:30,110 Ja šis skaitlis ir vienskaitlī, iet uz priekšu un saka "pudeli", 1027 00:41:30,110 --> 00:41:31,840 pretējā gadījumā, ja tas ir daudzskaitlī, saka "pudeles". 1028 00:41:31,840 --> 00:41:34,150 Bet tagad, es esmu pilnīgi griešana šajā stūrī. 1029 00:41:34,150 --> 00:41:35,520 Tātad, pieņemsim redzēt, ko mēs esam ieguvuši šeit. 1030 00:41:35,520 --> 00:41:37,150 Tāpēc mēs esam ieguvuši dažas piezīmes augšpusē. 1031 00:41:37,150 --> 00:41:39,450 Es esmu arī šīs divas bibliotēkas, kā 1032 00:41:39,450 --> 00:41:41,140 Mēs esam bieži bijuši. 1033 00:41:41,140 --> 00:41:43,610 Un tagad ļaujiet man ritiniet uz leju līdz pirmajai 1034 00:41:43,610 --> 00:41:44,990 faktiskie rindas kodu. 1035 00:41:44,990 --> 00:41:47,020 Line 17 sākas galvenais. 1036 00:41:47,020 --> 00:41:50,610 21 līnija un 20 ir cik pudeles alus vai būs? 1037 00:41:50,610 --> 00:41:52,060 Un tad es aicinu GetInt. 1038 00:41:52,060 --> 00:41:53,800 Un tagad man ir mazliet veselība pārbaudītu. 1039 00:41:53,800 --> 00:41:57,030 >> Tātad šī ir vienošanās, ka mēs tagad sāk pieņemt līdz 1040 00:41:57,030 --> 00:41:59,620 stingrāk pārbaudīt lietotāja ievadi. 1041 00:41:59,620 --> 00:42:01,710 Reizēm jūs vienkārši nevēlaties, lai liktu viņiem atkal 1042 00:42:01,710 --> 00:42:02,630 un atkal un atkal. 1043 00:42:02,630 --> 00:42:05,620 Ja lietotājs skrūves augšu un nesadarbojas, naudas sodu. 1044 00:42:05,620 --> 00:42:07,430 Atmest un vienkārši nav galā ar tām. 1045 00:42:07,430 --> 00:42:08,990 Un tā, ka tas, ko es daru šeit. 1046 00:42:08,990 --> 00:42:12,520 Ja n ir mazāks par 1, es esmu tikai gatavojas kliegt uz lietotāju, 1047 00:42:12,520 --> 00:42:14,330 "Atvainojiet, ka nav jēgas." Un tad es esmu gatavojas 1048 00:42:14,330 --> 00:42:16,650 patvaļīgi atgriezties 1. 1049 00:42:16,650 --> 00:42:18,550 Tātad atkal, tas ir tikai konvencija, lai pierastu pie. 1050 00:42:18,550 --> 00:42:19,850 Tagad, ņemt to uz ticību. 1051 00:42:19,850 --> 00:42:22,700 Bet līdz šim, mēs esam vienmēr ir atgriešanās 0, jo 1052 00:42:22,700 --> 00:42:25,204 Mēs esam teica atgriešanās 0 apzīmē ko? 1053 00:42:25,204 --> 00:42:26,000 AUDITORIJA: Veiksme. 1054 00:42:26,000 --> 00:42:27,320 David J. Malan: Veiksme, ka viss. 1055 00:42:27,320 --> 00:42:29,740 Tāpēc tagad, ka mēs beidzot sāk domāt par 1056 00:42:29,740 --> 00:42:31,330 ne-panākumiem - 1057 00:42:31,330 --> 00:42:33,760 citiem vārdiem sakot, stūra kastes, kļūdu nosacījumiem - 1058 00:42:33,760 --> 00:42:37,520 tagad man ir bezgalīgs piegādi, vai vismaz 4000000000 1059 00:42:37,520 --> 00:42:39,790 iespējamās lietas, kas var noiet greizi manas programmas. 1060 00:42:39,790 --> 00:42:42,300 Un es varētu sākt piešķirot tiem individuālu numurus. 1061 00:42:42,300 --> 00:42:44,340 Tagad, parasti pietiek tikai atgriezties 1062 00:42:44,340 --> 00:42:45,730 kaut kas nav 0. 1063 00:42:45,730 --> 00:42:48,040 Tāpēc mēs esam gatavojas vienkārši return 1 tagad. 1064 00:42:48,040 --> 00:42:51,440 Bet par atgriešanos 1 iemesls ir tas, ka tiklīdz jūs atgriezties 1065 00:42:51,440 --> 00:42:55,110 1, uzminēt, kas notiek ar pārējo programmas? 1066 00:42:55,110 --> 00:42:55,720 Tas apstājas. 1067 00:42:55,720 --> 00:42:56,560 Viss. 1068 00:42:56,560 --> 00:42:59,150 Tātad fakts, ka es esmu atpakaļ 1 efektīvi 1069 00:42:59,150 --> 00:43:02,950 īssavienojums šīs programmas izpildi, lai 1070 00:43:02,950 --> 00:43:06,780 nekas zem 27 līnija turpinās izpildes. 1071 00:43:06,780 --> 00:43:09,210 Tiklīdz galvenie atdevi, tas ir tā. 1072 00:43:09,210 --> 00:43:13,160 >> Labi, tāpēc, ja lietotājs nav sadarboties un mums sasniegt līnija 30 1073 00:43:13,160 --> 00:43:15,680 jo tie drukāti likumīgu numuru, šeit ir mana 1074 00:43:15,680 --> 00:43:16,990 īstenotu šo dziesmu. 1075 00:43:16,990 --> 00:43:19,050 Tāpēc es vispirms izdrukāt newline raksturs, tikai 1076 00:43:19,050 --> 00:43:19,880 estētika. 1077 00:43:19,880 --> 00:43:21,500 Man tagad ir par cilpu. 1078 00:43:21,500 --> 00:43:22,930 Un paziņojums es esmu darot lietas, kas mazliet 1079 00:43:22,930 --> 00:43:23,880 no citā virzienā. 1080 00:43:23,880 --> 00:43:26,210 Man nav darīt mazāk, nekā, man nav jādara + +. 1081 00:43:26,210 --> 00:43:30,660 Es varu vietā teikt inicializēt mainīgo i, kas tas ir vienāds ar 1082 00:43:30,660 --> 00:43:35,080 n, skaitlis lietotājs drukāti, tad rīkojieties šādi, lai 1083 00:43:35,080 --> 00:43:39,590 Kamēr es ir lielāks par 0, tad es - 1084 00:43:39,590 --> 00:43:42,070 kad esat pabeidzis viena atkārtojuma no šīs cilpas. 1085 00:43:42,070 --> 00:43:44,310 Tātad, mēs varam rēķināties uz leju, izmantojot par cilpu, kā arī. 1086 00:43:44,310 --> 00:43:47,520 Tagad tas ir diezgan daudz Week One sīkumi tagad, ar printf. 1087 00:43:47,520 --> 00:43:51,770 Tā print "% d pudeles alus pie sienas." Print "% d 1088 00:43:51,770 --> 00:43:54,990 pudeles alus. "" Ņem vienu uz leju, iet tā apkārt. "Izdrukāt 1089 00:43:54,990 --> 00:43:58,880 "% D pudeles alus pie sienas." Tāpēc tas joprojām% d, bet 1090 00:43:58,880 --> 00:44:02,770 ievērojat, ka arguments, lai printf mainās. 1091 00:44:02,770 --> 00:44:05,840 Aiz komata, man ir I, jo es gribu teikt 99. 1092 00:44:05,840 --> 00:44:08,590 Pēc šī komats, man ir I, jo es gribu teikt 99. 1093 00:44:08,590 --> 00:44:14,030 Pēc šī komats, man ir I - 1, jo es gribu teikt 98, 1094 00:44:14,030 --> 00:44:16,260 šī pirmā iterācija, un tā tālāk. 1095 00:44:16,260 --> 00:44:18,520 Un tagad šeit lejā, man vienkārši ir kādu stulbu maz piezīmi. 1096 00:44:18,520 --> 00:44:22,270 Un tad līnija 42, es atgriezties 0 pēc vienošanās, kas nozīmē, ka 1097 00:44:22,270 --> 00:44:23,650 viss ir kārtībā. 1098 00:44:23,650 --> 00:44:24,490 >> Tātad, ko tad es goofed? 1099 00:44:24,490 --> 00:44:26,350 Kas varētu izplatīta kļūda šeit būt? 1100 00:44:26,350 --> 00:44:29,200 Nu ko darīt, ja es nejauši teicu labi, es vēlos, lai saskaitītu 1101 00:44:29,200 --> 00:44:31,640 līdz 0, es vēlos 0 alus pudeles uz sienas? 1102 00:44:31,640 --> 00:44:34,620 Tāpēc es saku, man ir lielāka vai vienāda ar 0. 1103 00:44:34,620 --> 00:44:38,920 Kas būs simptoms, ka es tagad redzēt, ja es recompile 1104 00:44:38,920 --> 00:44:41,173 beer1 un palaist to? 1105 00:44:41,173 --> 00:44:42,120 AUDITORIJA: Negatīvs. 1106 00:44:42,120 --> 00:44:43,590 David J. Malan: Jā, tas ir gonna iet negatīvs. 1107 00:44:43,590 --> 00:44:45,950 Tas ir off-ko-viena kļūda, neticami 1108 00:44:45,950 --> 00:44:47,270 izplatīta kļūda, lai padarītu. 1109 00:44:47,270 --> 00:44:48,960 Pieņemsim faktiski iet atpakaļ uz termināla logu un darīt to 1110 00:44:48,960 --> 00:44:50,620 šeit, lai mēs varētu redzēt vairāk laikā. 1111 00:44:50,620 --> 00:44:53,280 Ievadīt, 99 pudeles alus. 1112 00:44:53,280 --> 00:44:56,580 Tuvu, bet mēs devāmies kādreiz tik nedaudz par tālu. 1113 00:44:56,580 --> 00:45:00,500 Mēs dziedāja dziesmu pārāk tālu uz leju, tā, ka mēs tagad skāra 1114 00:45:00,500 --> 00:45:01,510 negatīvs skaitlis. 1115 00:45:01,510 --> 00:45:03,680 Tātad tas nav gluži darbu. 1116 00:45:03,680 --> 00:45:06,450 >> Labi, lai mēs varētu viegli noteikt, ka, atgriežoties 1117 00:45:06,450 --> 00:45:07,650 kā tas bija kādreiz. 1118 00:45:07,650 --> 00:45:10,360 Bet kādi ir dažas iespējas tagad 1119 00:45:10,360 --> 00:45:11,190 uzlabošanu? 1120 00:45:11,190 --> 00:45:17,200 Nu, ļaujiet man atvērt beer2.c un ritiniet uz leju šeit un veikt 1121 00:45:17,200 --> 00:45:19,310 apskatīt šo versiju. 1122 00:45:19,310 --> 00:45:21,370 Kas ir pirmā lieta, kas lec ārā pie jums kā dažādas 1123 00:45:21,370 --> 00:45:23,715 šajā versijā šeit? 1124 00:45:23,715 --> 00:45:24,190 Mērķauditorija: [nedzirdama]. 1125 00:45:24,190 --> 00:45:26,510 David J. Malan: Jā, tāpēc ne es, jo tas noticis ar 1126 00:45:26,510 --> 00:45:29,350 man jūs zināt, ko, es esmu lūdzot lietotājam par n, un tad es esmu 1127 00:45:29,350 --> 00:45:33,580 kurā es vienāds ar n, un tad es esmu mainot es, bet es esmu nekad 1128 00:45:33,580 --> 00:45:34,590 pieskaroties N vēlreiz. 1129 00:45:34,590 --> 00:45:37,390 Tātad, ko heck bija no jums punkts neierādot citu 32 1130 00:45:37,390 --> 00:45:45,210 biti sauc Es tikai tā, ka es varētu būt atšķirīgs mainīgo? 1131 00:45:45,210 --> 00:45:47,960 Tātad šajā gadījumā, es veida atzina, ka nevajadzīgu 1132 00:45:47,960 --> 00:45:49,190 dizaina elements. 1133 00:45:49,190 --> 00:45:52,730 Un es esmu tagad gatavojas teikt, bet n ir lielāks par 0, dodieties 1134 00:45:52,730 --> 00:45:56,180 priekšu un izdrukāt to pašu dziesmu, izejot n uz printf kā 1135 00:45:56,180 --> 00:46:00,210 Otrs arguments, un n - kā otro argumentu leju šeit 1. 1136 00:46:00,210 --> 00:46:02,930 Un tad par katru atkārtojuma šīs cilpas, iet uz priekšu un vienkārši 1137 00:46:02,930 --> 00:46:05,080 Samazināt n pati. 1138 00:46:05,080 --> 00:46:06,960 Tagad, funkcionāli, šī programma 1139 00:46:06,960 --> 00:46:08,010 būs identiski. 1140 00:46:08,010 --> 00:46:10,730 Ja es rakstīt 99, n sākas pie 99. 1141 00:46:10,730 --> 00:46:12,890 Es samazināšanās, samazināšanās, samazināšanās, samazināšanās. 1142 00:46:12,890 --> 00:46:15,875 Es esmu gatavojas saņemt visu ceļu uz leju, lai "vienas pudeles alus par 1143 00:46:15,875 --> 00:46:16,740 sienas, viena pudele alus. 1144 00:46:16,740 --> 00:46:18,020 Ņem vienu uz leju, iet tā apkārt. 1145 00:46:18,020 --> 00:46:21,480 0 pudeles alus pie sienas. "Galu galā, jo es darīju 1146 00:46:21,480 --> 00:46:23,200 get nosacījums pareiza. 1147 00:46:23,200 --> 00:46:24,280 Tas ir lielāks par 0. 1148 00:46:24,280 --> 00:46:26,220 Man nav padarīt šo kļūdu. 1149 00:46:26,220 --> 00:46:28,470 >> Tātad, kas ir labāks, versija viens vai versija divi? 1150 00:46:31,380 --> 00:46:33,480 Tāpēc es dzirdēju ķekars murmurings diviem. 1151 00:46:33,480 --> 00:46:34,730 Kāpēc divi? 1152 00:46:37,210 --> 00:46:38,225 Ko tas nozīmē? 1153 00:46:38,225 --> 00:46:39,215 Mērķauditorija: [nedzirdama]. 1154 00:46:39,215 --> 00:46:40,070 David J. Malan: Ak, labi. 1155 00:46:40,070 --> 00:46:42,870 Tāpēc tas nav iet zem 0, bet atcerēties, vienā versijā, 1156 00:46:42,870 --> 00:46:45,870 sākotnējā pareizā versija negāja zem 0 nu. 1157 00:46:45,870 --> 00:46:48,340 Tāpēc atcerieties, ka šis ir pareizais variants. 1158 00:46:48,340 --> 00:46:51,630 Tātad pieņemsim vismaz salīdzināt divu pareizās versijas. 1159 00:46:51,630 --> 00:46:53,300 Kas par labu versijai arguments 1160 00:46:53,300 --> 00:46:55,146 divi ir, mmm, labāk? 1161 00:46:55,146 --> 00:46:55,642 Yeah? 1162 00:46:55,642 --> 00:46:57,630 Mērķauditorija: Tas izmanto mazāk vietas. 1163 00:46:57,630 --> 00:46:59,530 David J. Malan: Labi, tāpēc tā izmanto mazāk vietas, labi? 1164 00:46:59,530 --> 00:47:02,900 Tā versija, kuru izmanto 32 bitus uz n, un tad vēl 1165 00:47:02,900 --> 00:47:07,680 32 biti uz i. 1166 00:47:07,680 --> 00:47:10,060 Versija tikai divas izmanto 32 bitus uz n, lai 1167 00:47:10,060 --> 00:47:11,700 šķiet, plus. 1168 00:47:11,700 --> 00:47:12,950 Citas domas? 1169 00:47:18,070 --> 00:47:21,520 Vai kāds vēlas, lai argumentētu par labu vienam? 1170 00:47:21,520 --> 00:47:22,070 Yeah? 1171 00:47:22,070 --> 00:47:25,240 Mērķauditorija: Jums ir izmantot papildus koda rindu uz n -. 1172 00:47:25,240 --> 00:47:26,090 >> David J. Malan: Labi, protams. 1173 00:47:26,090 --> 00:47:26,960 Tātad tas ir godīgi. 1174 00:47:26,960 --> 00:47:29,040 Tāpēc tas vienkārši, vismaz man - 1175 00:47:29,040 --> 00:47:31,940 Es domāju, tas tiešām jūtas mazliet Mesjē, ka 1176 00:47:31,940 --> 00:47:35,120 Es nevaru kārtot no rezumēju visu manu loģiku vienā 1177 00:47:35,120 --> 00:47:38,030 skaistas līnijas, lai cilpa, jo cilpa var. 1178 00:47:38,030 --> 00:47:40,240 Lūk, es veida ir sadiegšana par šo n - 1179 00:47:40,240 --> 00:47:41,120 beigās cilpa, jo 1180 00:47:41,120 --> 00:47:42,550 tas ir loģiski nepieciešams. 1181 00:47:42,550 --> 00:47:45,190 Bet tas veida rubs man nepareizi, tikai tāpēc, ka tas 1182 00:47:45,190 --> 00:47:48,260 Šķiet atsevišķi no loģikas šeit, lai gan, 1183 00:47:48,260 --> 00:47:49,430 atkal, tas ir nepieciešams. 1184 00:47:49,430 --> 00:47:50,990 Citas domas? 1185 00:47:50,990 --> 00:47:51,490 Yeah? 1186 00:47:51,490 --> 00:47:52,740 Mērķauditorija: [nedzirdama]. 1187 00:47:57,990 --> 00:47:58,350 >> David J. Malan: Jā. 1188 00:47:58,350 --> 00:48:00,730 Tātad, ko tad, ja jūs tā vietā, beigās dziesmu, gribēja 1189 00:48:00,730 --> 00:48:02,950 izdrukāt atkal nosaukumu dziesmu? 1190 00:48:02,950 --> 00:48:05,660 Tāpat "Paldies par spēlējot 99 pudeles alus", vai kaut kas 1191 00:48:05,660 --> 00:48:06,690 muļķīgi, piemēram, ka? 1192 00:48:06,690 --> 00:48:09,750 Bet jautājums ir, jūs vēlaties piekļūt sākotnējās vērtības. 1193 00:48:09,750 --> 00:48:13,180 Tas, ka jūs esat mutācijas vai mainīts n par katru 1194 00:48:13,180 --> 00:48:16,330 atkārtojuma un tāpēc ir iznīcināti tās sākotnējo vērtību 1195 00:48:16,330 --> 00:48:18,650 nozīmē, ka jūs vienkārši nevar darīt, ka gada beigās. 1196 00:48:18,650 --> 00:48:20,660 Tagad, varbūt, mēs skaidri negribam darīt 1197 00:48:20,660 --> 00:48:21,450 ka šajā programmā. 1198 00:48:21,450 --> 00:48:22,350 Tā, kas rūpējas? 1199 00:48:22,350 --> 00:48:23,630 Bet tas ir ļoti derīgs punkts. 1200 00:48:23,630 --> 00:48:25,520 Un ja godīgi, tur tiešām neviens 1201 00:48:25,520 --> 00:48:26,630 pareizā atbilde šeit. 1202 00:48:26,630 --> 00:48:28,740 Viņi abi vienlīdz pareizs. 1203 00:48:28,740 --> 00:48:30,210 Es varētu būt pārliecināts nu veidā. 1204 00:48:30,210 --> 00:48:33,310 Es teikšu, ka kopumā tas ir labs princips, ja jūs 1205 00:48:33,310 --> 00:48:36,030 lūdza lietotājam kādu vērtību un jūs saglabāti mainīgo 1206 00:48:36,030 --> 00:48:38,730 piemēram n, tikai sava veida uz principu, tas ir iespējams, laba 1207 00:48:38,730 --> 00:48:40,160 lai saglabātu, ka apkārt. 1208 00:48:40,160 --> 00:48:43,400 Un visus datus vēlaties mutācijas atkal un atkal, tikai 1209 00:48:43,400 --> 00:48:46,030 sev kopiju šo mainīgo, tikai tāpēc, ka jums 1210 00:48:46,030 --> 00:48:47,830 piekļūt oriģināls. 1211 00:48:47,830 --> 00:48:51,040 Tu tērē 32 vairāk bitus, bet realitāte ir šī 1212 00:48:51,040 --> 00:48:53,490 dators ir, piemēram, divi gigabaiti RAM šajās dienās, 1213 00:48:53,490 --> 00:48:55,310 un mēs esam quibbling vairāk nekā 32 bitu? 1214 00:48:55,310 --> 00:48:56,320 Tiešām nav tik liels darījumu. 1215 00:48:56,320 --> 00:48:58,550 Un pat uz šo ierīci šeit, ar pusi GIG vai 1216 00:48:58,550 --> 00:49:01,700 gigabaitu RAM, 32 bitu versus 64 bitiem, 1217 00:49:01,700 --> 00:49:02,920 nav tik liels darījumu. 1218 00:49:02,920 --> 00:49:05,890 Protams šodien, tas būs ceļš overwhelmed ar izmēru 1219 00:49:05,890 --> 00:49:08,400 no pašas programmas, kas būs vairāki simti 1220 00:49:08,400 --> 00:49:10,890 kilobaiti, ja ne pāris megabaiti, šajās dienās. 1221 00:49:10,890 --> 00:49:13,550 >> Tāpēc pamatotas bažas, neviens pareizā atbilde. 1222 00:49:13,550 --> 00:49:15,490 Bet vismaz tie ir domas, ka vajadzētu sākt ar 1223 00:49:15,490 --> 00:49:16,790 iet caur jūsu prātā? 1224 00:49:16,790 --> 00:49:19,600 Jo 0 PSET, lai gan mēs patiešām tikai gaidāms 1225 00:49:19,600 --> 00:49:22,340 pareizība, vai vismaz atsakoties dažādi kukaiņi, ka 1226 00:49:22,340 --> 00:49:25,440 Jums varētu būt radušās, kā mēs virzāmies uz priekšu, dizains ir 1227 00:49:25,440 --> 00:49:27,910 būs vēl viens svarīgs aspekts, gan rakstot kodu 1228 00:49:27,910 --> 00:49:29,770 un arī mūsu izvērtējot kodu. 1229 00:49:29,770 --> 00:49:32,310 Un tā vismaz pārdomāt lietas, kā šis. 1230 00:49:32,310 --> 00:49:35,590 Un tikai tāpēc, ka kaut kas darbojas nenozīmē, ka tas ir labi, 1231 00:49:35,590 --> 00:49:37,130 nenozīmē, ka tas ir labi izstrādāta. 1232 00:49:37,130 --> 00:49:38,820 Un tas ir viens no lietām, mācību līdzcilvēkiem un 1233 00:49:38,820 --> 00:49:41,990 problēma komplekti palīdzēs mums kaitināt daļu laika gaitā. 1234 00:49:41,990 --> 00:49:45,020 >> Nu, ko par, teiksim, šo versiju šeit? 1235 00:49:45,020 --> 00:49:49,090 Ļaujiet man darīt kaut nedaudz sexy šeit brīdi. 1236 00:49:49,090 --> 00:49:50,740 Pirmais ļaujiet man atbrīvoties no šo. 1237 00:49:50,740 --> 00:49:54,120 Un tagad pieņemsim noteikt šo gramatikas jautājumu. 1238 00:49:54,120 --> 00:49:58,780 Tātad šajā versijā, es gribu noteikt gramatiku tā, ka, 1239 00:49:58,780 --> 00:50:02,460 nevis tikai teikt parenthetical s, piemēram, "pudeles" 1240 00:50:02,460 --> 00:50:03,360 vai "pudeles" - 1241 00:50:03,360 --> 00:50:04,900 Es nevēlos, lai samazinātu šo stūrī - 1242 00:50:04,900 --> 00:50:08,350 Es arī gribu, lai dinamiski izdrukāt vārdu "pudeles" 1243 00:50:08,350 --> 00:50:12,820 vai "pudeles", tādējādi izmantojot šos% s vietturus šodien. 1244 00:50:12,820 --> 00:50:16,550 Tāpēc man ir nepieciešams, lai nosacīti pārbaudīt, kāda ir vērtība no i. 1245 00:50:16,550 --> 00:50:19,590 Un, ja tas ir 1, es gribu teikt "pudeli", un, ja tas ir kaut kas 1246 00:50:19,590 --> 00:50:23,115 cits, es gribu teikt "pudeles". Tāpēc pieņemsim mēģināt to darīt. 1247 00:50:23,115 --> 00:50:31,340 Tātad, ja es == 1, tad ļaujiet man iet uz priekšu un atzīt - 1248 00:50:31,340 --> 00:50:34,080 Man vajag virkni, tāpēc ļaujiet man darīt stīgu S1, jo tas ir 1249 00:50:34,080 --> 00:50:36,070 pirmā rinda Man rūp tiesības tagad. 1250 00:50:36,070 --> 00:50:40,980 Es esmu gatavojas teikt "pudeli". Un tad, pieņemsim redzēt, stīgu 1251 00:50:40,980 --> 00:50:43,110 S2 - un es paskaidrošu, kur es esmu, pēc brīža - 1252 00:50:43,110 --> 00:50:47,650 "Pudeles." Tā atceros, ka šo dziesmu, mums jāspēj 1253 00:50:47,650 --> 00:50:50,580 drukāt lietas, divus dažādus vārdus potenciāli. 1254 00:50:50,580 --> 00:50:53,590 Tātad, ja mēs atskatāmies šeit, ievērosiet, ka tad, kad mēs nokļūt 1255 00:50:53,590 --> 00:50:56,440 šis piemērs šeit, "divas pudeles alus pie sienas, 1256 00:50:56,440 --> 00:50:59,490 divas pudeles alus, ņem vienu uz leju, iet tā apkārt ", es gribu 1257 00:50:59,490 --> 00:51:02,380 Šajā ceturtajā rindā, lai tagad saka "vienu pudeli alus 1258 00:51:02,380 --> 00:51:04,900 siena "Tāpēc man ir nepieciešams izlemt,. vēlos teikt" pudeles "vai 1259 00:51:04,900 --> 00:51:07,780 "Pudele"? Tāpēc es esmu gatavojas patvaļīgi teikt, visas tiesības, 1260 00:51:07,780 --> 00:51:10,530 Es esmu gatavojas tagad deklarēt mainīgo sauc s1, stīgu 1261 00:51:10,530 --> 00:51:13,830 viens, kas notiek, lai saņemtu pieslēgts šeit un arī šeit, 1262 00:51:13,830 --> 00:51:16,070 jo šie vārdi ir vienmēr identiska, tikai tāpēc, ka 1263 00:51:16,070 --> 00:51:17,290 raksturu dziesmu. 1264 00:51:17,290 --> 00:51:20,100 Un es esmu dodas uz zvanu S2 neatkarīgi vārdu es gribu 1265 00:51:20,100 --> 00:51:21,560 beidzot parādās uz leju šeit. 1266 00:51:21,560 --> 00:51:25,530 Tagad, burtiski, 99 reizes no 100, tas būs 1267 00:51:25,530 --> 00:51:28,820 pats abās šajās lietās, jo 3 ir daudzskaitlī, 2 ir 1268 00:51:28,820 --> 00:51:30,200 daudzskaitlī, 4 ir daudzskaitlī. 1269 00:51:30,200 --> 00:51:34,640 Bet šajā stūra gadījumā, ja mēs līdz 2 un tad 1, vai 1270 00:51:34,640 --> 00:51:37,250 pat 1 un tad 0, man vajag šo loģiku. 1271 00:51:37,250 --> 00:51:41,020 Tāpēc man ir pavadīt kādu laiku manā kods kļūst šīs tiesības. 1272 00:51:41,020 --> 00:51:47,530 Tātad, ja es to darītu, ja es == 1, tad noteikti S1 vienāds ar "pudeles" 1273 00:51:47,530 --> 00:51:52,010 un S2 vienāds ar "pudeles", jo tas būs par 1 1274 00:51:52,010 --> 00:51:56,340 pudele, un tas būs 0 pudelēm. 1275 00:51:56,340 --> 00:51:58,250 Un tas šeit, ko tas pārstāv? 1276 00:51:58,250 --> 00:51:59,780 Tikai, lai būtu skaidrs. 1277 00:51:59,780 --> 00:52:00,620 Tas ir tikai komentārs. 1278 00:52:00,620 --> 00:52:03,730 Tātad fakts, ka jūs varat būt viena līnija komentārus nozīmē jums 1279 00:52:03,730 --> 00:52:06,110 var komentēt savu kodu kā šis, bet vēl viens kopējā 1280 00:52:06,110 --> 00:52:09,050 paradigma, arī ir, ka, ja jums ir super-īsu frāzi, kas 1281 00:52:09,050 --> 00:52:11,410 Jūs vēlaties, lai sevi, un tas ir tikai vairāk lasāms likt 1282 00:52:11,410 --> 00:52:13,270 tas labi beigās līnijas kodu, jūs varat 1283 00:52:13,270 --> 00:52:15,230 absolūti darīt kaut kas līdzīgs šim. 1284 00:52:15,230 --> 00:52:20,150 >> Tāpēc tagad ko, ja es to varu darīt? Cits ja man nav vienāds ar 1. 1285 00:52:20,150 --> 00:52:21,620 Tā bang vienāds - 1286 00:52:21,620 --> 00:52:23,150 izsaukuma zīme ir pazīstama kā "sprādziena". 1287 00:52:23,150 --> 00:52:25,080 Tāpēc sprādziena = 1. 1288 00:52:25,080 --> 00:52:28,530 Tātad, ja man nav vienāds ar 1, ko es vietā gribu darīt? 1289 00:52:28,530 --> 00:52:31,700 Nu, pirmais vārds es vēlos būt, ko? 1290 00:52:34,620 --> 00:52:40,030 Tātad virkne 1 vajadzētu būt "pudeles" daudzskaitlis pudelēm, 1291 00:52:40,030 --> 00:52:42,440 un tad tas būs daudzskaitlī "pudeles", kā arī, lai tagad. 1292 00:52:42,440 --> 00:52:43,800 Un mēs redzētu, vai tas tiešām izpaužas mums 1293 00:52:43,800 --> 00:52:44,870 kur mēs gribam iet. 1294 00:52:44,870 --> 00:52:47,680 Tāpēc tagad, ja es ritiniet uz leju šeit, pamanīsiet, ka es esmu tapām 1295 00:52:47,680 --> 00:52:50,170 ne tikai es, bet S1. 1296 00:52:50,170 --> 00:52:51,860 Es esmu tapām i un S1. 1297 00:52:51,860 --> 00:52:54,440 Un tad noteikti šeit, es esmu mīnus 1, kas ir tāds pats kā 1298 00:52:54,440 --> 00:52:55,920 pirms, bet S2. 1299 00:52:55,920 --> 00:52:58,730 Citiem vārdiem sakot, es gribu angļu vārdu mainīt, pamatojoties 1300 00:52:58,730 --> 00:52:59,930 uz šo loģiku. 1301 00:52:59,930 --> 00:53:03,310 Tagad tur ir jau dažas šā koda problēmas. 1302 00:53:03,310 --> 00:53:08,460 Kas ir bojāts jau no vārtiem šeit? 1303 00:53:08,460 --> 00:53:10,796 Yeah? 1304 00:53:10,796 --> 00:53:13,210 Mērķauditorija: [nedzirdama]. 1305 00:53:13,210 --> 00:53:13,800 >> David J. Malan: Tieši tā. 1306 00:53:13,800 --> 00:53:16,030 Tāpēc es jau esmu pārkāpis mācība jomu. 1307 00:53:16,030 --> 00:53:19,610 Tāpēc es esmu atzīts S1 un S2, bet es esmu darījusi to iekšpusē 1308 00:53:19,610 --> 00:53:22,980 cirtaini bikšturi, kas nozīmē, jā, šis kods strādās līdz 1309 00:53:22,980 --> 00:53:27,430 līdz 42 līnijas, bet tiklīdz es hit līniju 43, uzminēt, ko nav 1310 00:53:27,430 --> 00:53:28,900 vairs nepastāv? 1311 00:53:28,900 --> 00:53:32,600 Nu, domāju, ko vairs darbības joma - ne s1 vai S2. 1312 00:53:32,600 --> 00:53:33,780 Tāpēc mums ir noteikt šo. 1313 00:53:33,780 --> 00:53:36,180 Tāpēc ļaujiet man dzēst deklarācijas. 1314 00:53:36,180 --> 00:53:39,320 Un es ņemšu atvaļinājumu mainīgo nosaukumi un dzēst šeit 1315 00:53:39,320 --> 00:53:40,120 un dzēst šeit. 1316 00:53:40,120 --> 00:53:43,557 Un kādi līnijām man tiešām atzīt šīs lietas? 1317 00:53:43,557 --> 00:53:44,960 Mērķauditorija: [nedzirdama]. 1318 00:53:44,960 --> 00:53:45,410 David J. Malan: Jā, tāpēc, iespējams, 1319 00:53:45,410 --> 00:53:46,850 līdz pat šeit, 33-ish. 1320 00:53:46,850 --> 00:53:50,670 Tātad virknes s1 un tad virkne s2. 1321 00:53:50,670 --> 00:53:51,950 Un izrādās, es varētu darīt. 1322 00:53:51,950 --> 00:53:54,260 Ja jūs deklarējot divi mainīgie no viena veida, 1323 00:53:54,260 --> 00:53:57,420 Jūs faktiski var tikai izmantot komatu, un darīt, ka C. Visi 1324 00:53:57,420 --> 00:53:58,970 labi, tāpēc tagad man ir divi mainīgie - 1325 00:53:58,970 --> 00:53:59,860 S1 un S2. 1326 00:53:59,860 --> 00:54:02,000 Es esmu piešķirot tiem vērtības šajos 1327 00:54:02,000 --> 00:54:04,210 apstākļiem šeit, vai šeit. 1328 00:54:04,210 --> 00:54:06,690 Un tad es esmu, izmantojot tos tālāk. 1329 00:54:06,690 --> 00:54:10,960 Cik labi ir tas tagad iet uz darbu? 1330 00:54:10,960 --> 00:54:12,740 >> Nu, tas joprojām mazliet buggy, bet pieņemsim vismaz redzēt 1331 00:54:12,740 --> 00:54:13,730 cik tālu esam tikuši. 1332 00:54:13,730 --> 00:54:16,500 Tāpēc ļaujiet man iet uz priekšu un darīt beer3. 1333 00:54:16,500 --> 00:54:17,695 Vai tas beer3? 1334 00:54:17,695 --> 00:54:19,410 Yep, tas ir beer3. 1335 00:54:19,410 --> 00:54:21,510 Un tagad ļaujiet man iet uz priekšu un palaist beer3. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 Mēs varam droši izlaist lielāko daļu no tiem. 1338 00:54:25,840 --> 00:54:29,100 Un šeit lejā, apskatīt to. 1339 00:54:29,100 --> 00:54:31,110 "Viena pudele alus uz sienas, viena pudele alus, ņem 1340 00:54:31,110 --> 00:54:34,306 vienu uz leju, iet tā apkārt, 0 alus pudeles uz sienas. " 1341 00:54:34,306 --> 00:54:37,570 Bet es esmu zīmēšanas jūsu uzmanību tikai puse no risinājuma. 1342 00:54:37,570 --> 00:54:39,620 Veida ieskrūvē šeit. 1343 00:54:39,620 --> 00:54:43,030 Tāpēc šķiet, ka stūra gadījumi rodas, kad es vienāds kāda 1344 00:54:43,030 --> 00:54:44,030 Abas vērtības? 1345 00:54:44,030 --> 00:54:45,020 Mērķauditorija: 2, 1. 1346 00:54:45,020 --> 00:54:46,190 David J. Malan: 2 un 1. 1347 00:54:46,190 --> 00:54:48,180 Tas nav 1 un nav 1. 1348 00:54:48,180 --> 00:54:51,890 Tas ir patiešām tikai šie divi pēdējie stanzas šo dziesmu. 1349 00:54:51,890 --> 00:54:53,890 Tātad, ko es vietā gribu darīt? 1350 00:54:53,890 --> 00:54:58,890 Tāpēc man šķiet, ir nozvejotas gadījumu, kur, ja i ir == līdz 1, 1351 00:54:58,890 --> 00:55:02,240 tad pirmais vārds ir "pudeles", bet otrais vārds 1352 00:55:02,240 --> 00:55:07,230 ir "pudeles". Bet šeit, es vēlos mainīt šo būtu == 2. 1353 00:55:07,230 --> 00:55:08,570 Un, ja tas ir gadījums, ko es vēlos 1354 00:55:08,570 --> 00:55:09,620 Pirmais vārds ir? 1355 00:55:09,620 --> 00:55:10,430 Mērķauditorija: "pudeles". 1356 00:55:10,430 --> 00:55:12,890 David J. Malan: "pudeles", tā par diviem pudelēm. 1357 00:55:12,890 --> 00:55:14,690 Un tad šis vārds šeit būtu - 1358 00:55:14,690 --> 00:55:15,340 Mērķauditorija: "Pudeles". 1359 00:55:15,340 --> 00:55:17,316 David J. Malan: "Pudele", vienskaitlī. 1360 00:55:20,430 --> 00:55:25,160 >> Labi, pieņemsim tālināt, iet atpakaļ vairāk nekā šeit, atkārtoti palaist darīt, 1361 00:55:25,160 --> 00:55:28,590 atkārtoti palaist beer3, tips 99 vēlreiz. 1362 00:55:28,590 --> 00:55:30,710 Labi, "segmentācija defektu (kodols dempings)." 1363 00:55:30,710 --> 00:55:32,780 Ko es izdarīju nepareizi? 1364 00:55:36,050 --> 00:55:38,722 Mērķauditorija: Jums nav vērtība [nedzirdama]. 1365 00:55:38,722 --> 00:55:40,480 David J. Malan: Ak, lieliski punkts. 1366 00:55:40,480 --> 00:55:43,310 Labi, lai to, ko es daru nepareizi šeit? 1367 00:55:43,310 --> 00:55:45,450 Tātad segmentēšanas vainas, un mēs esam patiešām gatavojas redzēt 1368 00:55:45,450 --> 00:55:49,020 tas diezgan maz reizes nākotnē, apzināti. 1369 00:55:49,020 --> 00:55:51,030 Bet tagad, ko tas patiesībā nozīmē? 1370 00:55:51,030 --> 00:55:53,620 Segmentēšana vaina gandrīz vienmēr nozīmē, ka jums ir 1371 00:55:53,620 --> 00:55:56,760 kaut mēģinājis piekļūt atmiņas, RAM savā datorā, 1372 00:55:56,760 --> 00:56:00,600 kas jums nepieder, ka jums nav faktiski lūgusi 1373 00:56:00,600 --> 00:56:02,050 operētājsistēma. 1374 00:56:02,050 --> 00:56:04,440 Tātad šajā gadījumā, paziņojums, ko es esmu darījusi, kas ir 1375 00:56:04,440 --> 00:56:05,870 kļūdains manā loģikā. 1376 00:56:05,870 --> 00:56:09,500 Man ir piešķirts s1 un s2 vērtību, ja es vienāds ar 1. 1377 00:56:09,500 --> 00:56:11,590 Es esmu darījusi arī, ka, ja es vienāds ar 2. 1378 00:56:11,590 --> 00:56:13,710 Bet man nav izdarīts to bezgalīgi daudz citu 1379 00:56:13,710 --> 00:56:14,690 iespējas - 1380 00:56:14,690 --> 00:56:17,940 jo īpaši, 3 vai 4 vai dot, dot, dot, 99. 1381 00:56:17,940 --> 00:56:20,100 Tāpēc viens labojums, tas varētu būt tikai pieņemsim 1382 00:56:20,100 --> 00:56:22,190 ir cits nosacījums. 1383 00:56:22,190 --> 00:56:26,780 Un ļaujiet man iet šeit un teikt S1 vienāds - 1384 00:56:26,780 --> 00:56:28,180 kāds tas būtu šeit? 1385 00:56:28,180 --> 00:56:28,750 Mērķauditorija: [nedzirdama]. 1386 00:56:28,750 --> 00:56:30,460 >> David J. Malan: "pudeles", jo kopējā lietā, 1387 00:56:30,460 --> 00:56:32,020 tas ir tikai pats. 1388 00:56:32,020 --> 00:56:35,580 Tāpēc vienāds quote, likt pēdiņas beigās, "pudeles." Tātad daudzskaitlis 1389 00:56:35,580 --> 00:56:41,010 pudeles, un tad šeit, daudzskaitlis pudelēm. 1390 00:56:41,010 --> 00:56:44,580 Labi, tāpēc tagad ļaujiet man iet atpakaļ uz manu termināļa logā, 1391 00:56:44,580 --> 00:56:47,200 recompile, atkārtoti palaist to. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 Whew. 1394 00:56:49,150 --> 00:56:50,610 Un pieņemsim darīt ātri veselība pārbaudītu. 1395 00:56:50,610 --> 00:56:52,400 Tehniski mēs gribētu vēlas lasīt visu šo, lai pārliecinātos 1396 00:56:52,400 --> 00:56:53,370 viņi pareizi, bet pieņemsim apskatīt 1397 00:56:53,370 --> 00:56:54,640 vismaz zināmās vainīgie. 1398 00:56:54,640 --> 00:56:57,370 3 pudeles, 2 pudeles, 2 pudeles, 1 1399 00:56:57,370 --> 00:57:00,380 pudele, 1 pudele, 0 pudeles. 1400 00:57:00,380 --> 00:57:03,080 Šķiet, ka esam vismaz noteikts to tagad. 1401 00:57:03,080 --> 00:57:06,010 Bet loma šeit ir tas, kas dievs šausmīgi haoss tas ir 1402 00:57:06,010 --> 00:57:07,470 tikai, lai atrisinātu stulba 1403 00:57:07,470 --> 00:57:09,540 vienzīmes gramatikas detaļas. 1404 00:57:09,540 --> 00:57:11,150 Tātad tur ir sava veida iemesla dēļ, ka es samazināt šo stūri 1405 00:57:11,150 --> 00:57:14,090 agrāk, jo tas ir tikai pilnīgi kaitinošas ir 1406 00:57:14,090 --> 00:57:15,020 rakstīt tik daudz kodu. 1407 00:57:15,020 --> 00:57:17,530 Bet izrādās, ka tur ir nedaudz vairāk elegants veidi 1408 00:57:17,530 --> 00:57:20,110 izsakot tieši tas pats. 1409 00:57:20,110 --> 00:57:22,040 Un mēs varam izdarīt šādi. 1410 00:57:22,040 --> 00:57:23,890 >> Ļaujiet man atstāt šo uz ekrāna uz brīdi un 1411 00:57:23,890 --> 00:57:27,320 ieviest kaut kas pazīstams kā trīskāršu operators. 1412 00:57:27,320 --> 00:57:29,600 Tas ir sava veida viena līnijpārvadātāju, kas ir tikai paredzēts, lai padarītu mūsu 1413 00:57:29,600 --> 00:57:31,880 dzīvo nedaudz sexier, kā solīts. 1414 00:57:31,880 --> 00:57:33,130 Un es esmu gatavojas darīt šādi. 1415 00:57:33,130 --> 00:57:35,810 Dodiet man virkni sauc s1, un ļaujiet man 1416 00:57:35,810 --> 00:57:37,200 piešķirtu to šādi. 1417 00:57:37,200 --> 00:57:39,900 (I == 1)? 1418 00:57:39,900 --> 00:57:47,820 "Pudeles", citādi "pudeles". Stīgu s2 izpaužas (i == 2)? 1419 00:57:47,820 --> 00:57:52,670 "Pudeles", citādi "pudeles". 1420 00:57:52,670 --> 00:57:57,050 Tātad, kāda tad ir atšķirība šeit? 1421 00:57:57,050 --> 00:57:59,370 Šie divi rindas kods, es apgalvot, var 1422 00:57:59,370 --> 00:58:02,200 aizstāt visu šo putru. 1423 00:58:02,200 --> 00:58:04,280 Tāpēc es aicinu to haoss, tikai tāpēc, ka tas veida rubs mani 1424 00:58:04,280 --> 00:58:05,940 nepareizs veids, ka tas ir tik daudz rindas kodu. 1425 00:58:05,940 --> 00:58:06,650 Nav nepareizi. 1426 00:58:06,650 --> 00:58:07,700 Tas nav slikts dizains. 1427 00:58:07,700 --> 00:58:10,140 Patīk, tas ir pilnīgi pareizi un perfekti labi. 1428 00:58:10,140 --> 00:58:12,970 Bet kodēšana kļūst garlaicīgs, ja jums ir, lai izteiktu sevi, lai 1429 00:58:12,970 --> 00:58:15,530 nopelt konkrēti atkal un atkal un atkal ar vienkāršu 1430 00:58:15,530 --> 00:58:16,620 scenārijs kā šis. 1431 00:58:16,620 --> 00:58:19,470 Tāpēc C ir dažas īsceļus, kā šis. 1432 00:58:19,470 --> 00:58:24,270 Tātad šis būtībā ir saprotams atzīt virkni sauc s1 un 1433 00:58:24,270 --> 00:58:32,610 piešķirtu to nu šo vērtību vai šī vērtība, ja i ir == - 1434 00:58:32,610 --> 00:58:35,290 Atvainojiet, es saku daudz skaidrāk. 1435 00:58:35,290 --> 00:58:41,680 Deklarēt mainīgo S1, piešķirt tam šo vērtību, ja tā ir taisnība. 1436 00:58:41,680 --> 00:58:44,280 Pretējā gadījumā piešķirt tam šo vērtību. 1437 00:58:44,280 --> 00:58:47,220 Tātad, citiem vārdiem sakot, tas ir sava veida viena līnija ceļā 1438 00:58:47,220 --> 00:58:51,490 sakot, ja cits, bet dara norīkojumu gar ceļu. 1439 00:58:51,490 --> 00:58:55,540 Tātad, ja es ir 1, tad iet uz priekšu un to sauc par "pudeli". Un 1440 00:58:55,540 --> 00:58:59,830 tad tas cits, to sauc par "pudeles". Tikmēr, S2, 1441 00:58:59,830 --> 00:59:04,060 Otrais vārds, kas mums ir nepieciešams noteikt, ja es vienāds ar 2, mēs 1442 00:59:04,060 --> 00:59:08,350 iestatīts S2 "pudeles". Pretējā gadījumā noteikti to "pudeles". Un kādi 1443 00:59:08,350 --> 00:59:11,460 Tas nozīmē, tagad ir tā, es varētu iet caur šo un izdzēst visus 1444 00:59:11,460 --> 00:59:12,860 šie rindas kodu. 1445 00:59:12,860 --> 00:59:17,220 Un kad es saku, nedaudz smieklīgi, ka tas ir tagad 1446 00:59:17,220 --> 00:59:20,060 sexier, tas sexier kas veida stilistiskā ziņā. 1447 00:59:20,060 --> 00:59:22,660 Fakts, ka funkcionāli, šis kods ir faktiski gatavojas 1448 00:59:22,660 --> 00:59:24,610 darīt tieši to pašu. 1449 00:59:24,610 --> 00:59:26,890 Un, pat ja tas varētu izskatīties mazliet noslēpumains sākumā 1450 00:59:26,890 --> 00:59:29,250 skatienu, jo mēs esam nav redzējuši šo būvēt pirms, es gribētu 1451 00:59:29,250 --> 00:59:31,850 apgalvo, ka tas galu galā būs tik daudz 1452 00:59:31,850 --> 00:59:34,820 lasāma un tik daudz vieglāk mēs cilvēkiem, lai sakārtotu un 1453 00:59:34,820 --> 00:59:36,830 saprotu, jo tagad jūs varat vienkārši izlasīt 1454 00:59:36,830 --> 00:59:38,830 kods visi vienā rindā. 1455 00:59:38,830 --> 00:59:41,550 Tas joprojām ir līdzīgs garu ja gadījumos, kad tas ir 1456 00:59:41,550 --> 00:59:44,920 stāvoklī, un tad tas ir tas, kas ir iekšā, ja un šī 1457 00:59:44,920 --> 00:59:46,480 ir tas, kas ir iekšā cits. 1458 00:59:46,480 --> 00:59:49,450 Bet mēs varam izdarīt tikai daudz vairāk eleganti. 1459 00:59:49,450 --> 00:59:52,650 >> Un ja es tagad iet atpakaļ uz manu terminālu, kas svītro visas 1460 00:59:52,650 --> 00:59:55,530 Šo līniju un aizstāj tos ar tikai tiem diviem, 1461 00:59:55,530 --> 01:00:00,150 recompile, atkārtoti palaist pudeles alus ar 99, paziņojums, ka mana 1462 01:00:00,150 --> 01:00:03,350 gramatika ir, faktiski, joprojām ir pareiza. 1463 01:00:03,350 --> 01:00:06,160 Tātad vēlreiz, kaut sākt. 1464 01:00:06,160 --> 01:00:08,840 2 pudeles alus, 1 pudele alus. 1465 01:00:08,840 --> 01:00:09,370 Izskatās labi. 1466 01:00:09,370 --> 01:00:10,100 Yeah. 1467 01:00:10,100 --> 01:00:13,900 Tātad mums ir daudz vairāk īsu risinājumu. 1468 01:00:13,900 --> 01:00:16,020 Tātad arī tas, kā jūs iegūtu vairāk apmierināti ar C, ne 1469 01:00:16,020 --> 01:00:18,630 vienmēr ar pirmo PSET vai pat otrās, bet 1470 01:00:18,630 --> 01:00:21,170 saprast, ka šīs konstrukcijas var ļaut mums darīt lietas kādreiz 1471 01:00:21,170 --> 01:00:22,810 vairāk eleganti. 1472 01:00:22,810 --> 01:00:25,200 Tagad pieņemsim do viena lieta šeit. 1473 01:00:25,200 --> 01:00:31,460 Ļaujiet man iet uz priekšu un atvērt return1.c. 1474 01:00:31,460 --> 01:00:34,340 Tagad sāksim risināt kādu problēmu tādā veidā, ka 1475 01:00:34,340 --> 01:00:37,140 ļauj mums rakstīt sarežģītākas kodu. 1476 01:00:37,140 --> 01:00:39,960 >> Tātad šeit ir vienkāršs maz programmu, kuras mērķis dzīvē 1477 01:00:39,960 --> 01:00:41,870 ir pieauguma vērtības. 1478 01:00:41,870 --> 01:00:43,100 Un tiešām, pieņemsim veikt soli atpakaļ. 1479 01:00:43,100 --> 01:00:44,400 Ļaujiet man darīt manuāli. 1480 01:00:44,400 --> 01:00:52,200 Ļaujiet man darīt iekļaut un int galvenais (spēkā neesošs). 1481 01:00:52,200 --> 01:00:53,450 Un ļaujiet man nosaukt šo increment.c. 1482 01:00:57,150 --> 01:00:58,570 Un ko es gribu darīt? 1483 01:00:58,570 --> 01:01:02,240 Es iešu uz priekšu un teikt kaut ko līdzīgu - 1484 01:01:02,240 --> 01:01:04,280 mēs saucam numurus pats - 1485 01:01:04,280 --> 01:01:04,980 int x. 1486 01:01:04,980 --> 01:01:13,670 Tātad int x izpaužas 2; printf x ir% d, jaunā pozīcija, x. 1487 01:01:13,670 --> 01:01:16,780 Tāpēc es esmu mašīnrakstīšanu ātri, bet iepazinušies sīkumi veida tagad. 1488 01:01:16,780 --> 01:01:18,830 Tad es esmu gatavojas darīt x + +. 1489 01:01:18,830 --> 01:01:21,710 Tad es esmu gatavojas drukāt šo pašu teikumu vēlreiz. 1490 01:01:21,710 --> 01:01:24,550 Un tad es esmu gatavojas atgriezties 0 tikai atmest programmu. 1491 01:01:24,550 --> 01:01:25,960 Labi, tāpēc šī ir programma, kas 1492 01:01:25,960 --> 01:01:26,960 soli numuru. 1493 01:01:26,960 --> 01:01:29,830 Tas ir pirmais iet, lai sāktu kaut ko līdz 2, un tad tas ir 1494 01:01:29,830 --> 01:01:33,470 dodas uz pieauguma to un izdrukāt to vēlreiz. 1495 01:01:33,470 --> 01:01:36,930 >> Tātad pieņemsim palaist pieaugumu, neticami vienkāršu programmu. 1496 01:01:36,930 --> 01:01:40,940 Bet pieņemsim, ka tagad, ka es gribu, lai kubs vērtību, tāpēc 1497 01:01:40,940 --> 01:01:42,490 kaut nedaudz patvaļīgi. 1498 01:01:42,490 --> 01:01:45,140 Un es tiešām gribu darīt x izpaužas kubs tā. 1499 01:01:45,140 --> 01:01:47,570 Lai es varētu izmantot to, ko sauc par pow funkcija, bet man nav 1500 01:01:47,570 --> 01:01:48,650 tiešām zināt, kur tas ir vēl. 1501 01:01:48,650 --> 01:01:50,580 Tāpēc es esmu gatavojas darīt to vecmodīgs veidā. 1502 01:01:50,580 --> 01:01:54,550 x reizes tas ir vienāds x reizes x reizes x. 1503 01:01:54,550 --> 01:01:56,880 Tāpēc es esmu cubing vērtību, reizinot to ar sevi vēlreiz 1504 01:01:56,880 --> 01:02:00,440 un atkal un atkal, lai mēs iegūtu tiesības 1505 01:02:00,440 --> 01:02:02,050 gada 3 šajā gadījumā. 1506 01:02:02,050 --> 01:02:06,000 Tāpēc tagad to skaits man jāizdrukā jābūt, jo mēs redzēsim 1507 01:02:06,000 --> 01:02:08,450 šeit - padarīt pieaugumu, tāpēc tas tiešām nav īsti pieauguma 1508 01:02:08,450 --> 01:02:10,260 vairs, bet mēs atstāt nosaukumu vien - 1509 01:02:10,260 --> 01:02:11,590 2 un tad 8. 1510 01:02:11,590 --> 01:02:17,670 Tagad mums ir pirmsākumiem ir iespēja izsmalcinātību 1511 01:02:17,670 --> 01:02:21,570 šeit, turklāt šis cubing lieta reizināt numuru 1512 01:02:21,570 --> 01:02:24,680 pati ar sevi, pats par sevi jūtas kā tas varētu būt tikai 1513 01:02:24,680 --> 01:02:27,920 noderīgi, lai būtu kā funkcija, līdzīgi kāds nolēma 1514 01:02:27,920 --> 01:02:30,430 gadus atpakaļ - jūs zināt, veida lietderīgi, ja viens no mums sēž uz leju 1515 01:02:30,430 --> 01:02:33,120 un raksta printf lai pārējā pasaule var izmantot, 1516 01:02:33,120 --> 01:02:36,160 kāpēc nav mēs sēdēt un rakstīt funkciju sauc kubs 1517 01:02:36,160 --> 01:02:39,250 kas dara šo cubing par mums, lai mums nav manuāli 1518 01:02:39,250 --> 01:02:41,500 īstenotu jēdzienu cubing vērtības šeit? 1519 01:02:41,500 --> 01:02:44,040 >> Tik vienkāršs piemērs, bet iesim uz priekšu un izmantot tas ir 1520 01:02:44,040 --> 01:02:46,280 iespēja rakstīt mūsu pašu funkciju. 1521 01:02:46,280 --> 01:02:49,110 Tātad līdz šim, mēs esam izmanto tikai galvenais, un mēs esam izmanto citiem 1522 01:02:49,110 --> 01:02:51,780 cilvēku funkcijas, bet mēs esam nav rakstīts mūsu pašu. 1523 01:02:51,780 --> 01:02:52,650 Tāpēc šeit mēs iet. 1524 01:02:52,650 --> 01:02:56,330 Es iešu uz priekšu un rakstīt funkciju sauc kubs. 1525 01:02:56,330 --> 01:02:58,490 Un es esmu nāksies to pieņemt ievadi. 1526 01:02:58,490 --> 01:03:02,070 Tāpēc tās ieejas būs skaitlim. 1527 01:03:02,070 --> 01:03:03,570 Un ko tas gatavojas darīt? 1528 01:03:03,570 --> 01:03:08,500 Tas notiek, lai paziņot int produkciju = ieeja reizes ieeja 1529 01:03:08,500 --> 01:03:09,880 reizes ieejas. 1530 01:03:09,880 --> 01:03:12,190 Un tad tas notiek, lai atgrieztos minēto produkciju. 1531 01:03:12,190 --> 01:03:14,500 Un tad man ir jābūt īpaša tagad. 1532 01:03:14,500 --> 01:03:16,820 Šī funkcija ir gatavojas atgriezties int. 1533 01:03:16,820 --> 01:03:19,130 Tātad šeit, tad ir, kā jūs rakstīt savas funkcijas. 1534 01:03:19,130 --> 01:03:20,850 Jums vispirms izlemt, kas ir nosaukums jūsu 1535 01:03:20,850 --> 01:03:21,720 funkcija būs. 1536 01:03:21,720 --> 01:03:23,964 Un vispār, kaut paskaidrojuma ir labs, tāpēc es ņemšu 1537 01:03:23,964 --> 01:03:25,060 to sauc kubs. 1538 01:03:25,060 --> 01:03:27,180 Tad jums ir jānorāda ko tā gatavojas atgriezties, kas ir 1539 01:03:27,180 --> 01:03:28,240 tā produkcija būs. 1540 01:03:28,240 --> 01:03:29,595 Un mums nav, ka daudz iespēju vēl. 1541 01:03:29,595 --> 01:03:32,260 Int, char, peldēt, bool, stīgu. 1542 01:03:32,260 --> 01:03:34,260 Tagad, es esmu gatavojas stick ar int, jo es gribu to 1543 01:03:34,260 --> 01:03:35,880 atgriezties skaitlim. 1544 01:03:35,880 --> 01:03:38,770 Tad jums ir jānorāda, kādi ir tās izejvielas, ja tādi ir, ir. 1545 01:03:38,770 --> 01:03:41,570 Un, ja kubs ņem argumentu, ņem kaut ko starp 1546 01:03:41,570 --> 01:03:44,970 iekavas, jums ir jāsniedz šis arguments nosaukumu, lai 1547 01:03:44,970 --> 01:03:47,860 Jūs varat zvanīt to kaut kā jūs īstenot vai rakstot 1548 01:03:47,860 --> 01:03:50,550 Šī funkcija, un jums ir arī tā tipa, kas šajā 1549 01:03:50,550 --> 01:03:51,810 lieta būs int. 1550 01:03:51,810 --> 01:03:54,690 Tātad īsumā, kubs ir funkcija, kas ņem skaitlim 1551 01:03:54,690 --> 01:03:57,560 kā priekšnodokli un atgriežas skaitlim kā produkciju. 1552 01:03:57,560 --> 01:03:59,240 >> Tātad, ko tas dara ar šo ieejas? 1553 01:03:59,240 --> 01:04:03,710 Nu, 14 līnija, es deklarēt mainīgo sauc izejas, un es 1554 01:04:03,710 --> 01:04:07,410 piešķirt tai vērtību, ieeja reizes ieeja reizes ieejas. 1555 01:04:07,410 --> 01:04:11,490 Un tad es atgriezties produkciju. 1556 01:04:11,490 --> 01:04:14,890 Tātad, kā es varu izmantot šo, tad? 1557 01:04:14,890 --> 01:04:19,210 Ko es varu mainīt šos iezīmētos rakstzīmes tiešsaistē 1558 01:04:19,210 --> 01:04:21,006 7 būtu, jūs domājat? 1559 01:04:21,006 --> 01:04:21,800 Mērķauditorija: [nedzirdama]. 1560 01:04:21,800 --> 01:04:25,570 David J. Malan: Jā, tā kubs x. 1561 01:04:25,570 --> 01:04:28,290 Tātad x ir mainīgs, kas nozīmē, ka tur kādu vērtību. 1562 01:04:28,290 --> 01:04:30,190 Par laimi, tas ir tipa skaitlim. 1563 01:04:30,190 --> 01:04:34,280 Un tāpēc x ir int, tas nozīmē, ka es varētu nodot to kubu. 1564 01:04:34,280 --> 01:04:39,500 Un pat ja es esmu ignorējot vērtību x ar vērtību 1565 01:04:39,500 --> 01:04:42,780 gada kuba x, kā tas ir bijis gadījums līdz šim, jebkurā laikā jūs 1566 01:04:42,780 --> 01:04:46,150 ir vienādības zīmi un kodu līnija, stuff tiesības 1567 01:04:46,150 --> 01:04:49,090 izpaužas izpildīts un tad kļūst piešķirts 1568 01:04:49,090 --> 01:04:50,150 vērtība kreisi. 1569 01:04:50,150 --> 01:04:52,950 Tātad darbību kārtība ir, kā mēs ceram. 1570 01:04:52,950 --> 01:04:56,620 Tātad tas darbojas? 1571 01:04:56,620 --> 01:04:58,410 Nu, ļaujiet man iet uz leju šeit. 1572 01:04:58,410 --> 01:04:59,970 Ļaujiet man atvērt manu termināļa logu. 1573 01:04:59,970 --> 01:05:03,610 Ļaujiet man darīt darīt pieaugumu, Enter. 1574 01:05:03,610 --> 01:05:07,140 "Netieša deklarāciju funkcija" kubs "ir spēkā neesoša 1575 01:05:07,140 --> 01:05:13,700 C99. "Kā malā, C99 attiecas uz valodas C, kā tas bija 1576 01:05:13,700 --> 01:05:16,790 definēta 1999.gadā, kas bija atjauninājums pa versiju, no 1577 01:05:16,790 --> 01:05:19,360 1989, kas ir atjaunota vairāk nekā oriģināls. 1578 01:05:19,360 --> 01:05:21,740 Tā ka viss, ka līdzekļi. 1579 01:05:21,740 --> 01:05:24,250 >> Tātad, ko tas nozīmē, ka "netiešs deklarācija 1580 01:05:24,250 --> 01:05:26,790 funkcija "kubs" ir nederīgs "Tas ir tieši šeit?. 1581 01:05:26,790 --> 01:05:28,430 Tas ir labi tur 12 rindā. 1582 01:05:28,430 --> 01:05:30,460 Mērķauditorija: [nedzirdama]. 1583 01:05:30,460 --> 01:05:30,730 David J. Malan: Kas tas ir? 1584 01:05:30,730 --> 01:05:32,470 Mērķauditorija: Tas nav pirms tam. 1585 01:05:32,470 --> 01:05:33,540 David J. Malan: Tas nav pirms tam. 1586 01:05:33,540 --> 01:05:34,740 Tātad šī ir lieta. 1587 01:05:34,740 --> 01:05:38,190 C ir sava veida stulba, vai C kompilatori ir sava veida stulba. 1588 01:05:38,190 --> 01:05:41,060 Viņi tiešām darīt tikai to, ko jums pateikt viņiem darīt. 1589 01:05:41,060 --> 01:05:44,770 Un tie, jo īpaši, tikai lasīt savu kodu augšas uz apakšu, 1590 01:05:44,770 --> 01:05:45,620 kreisās uz labo. 1591 01:05:45,620 --> 01:05:49,140 Tātad, ja kompilators, šķindēt, ir lasīšana savu kodu, līnija 1, tas 1592 01:05:49,140 --> 01:05:50,120 skaitļi, kā to izdarīt. 1593 01:05:50,120 --> 01:05:50,940 Ak, šeit nāk galvenais. 1594 01:05:50,940 --> 01:05:53,000 Labi, ļaujiet man iet uz priekšu un atzīt mainīgo x. 1595 01:05:53,000 --> 01:05:54,160 Ļaujiet man drukāt kaut ko. 1596 01:05:54,160 --> 01:05:55,890 Līnija 7, kāda heck ir kubs? 1597 01:05:55,890 --> 01:05:58,230 Tas nav deklarēti stdio.h. 1598 01:05:58,230 --> 01:06:00,950 Tas nenāk ar C. Man nav ne jausmas, ko darīt. 1599 01:06:00,950 --> 01:06:03,960 Un tā šķindēt tikai galvojumi un aizveras ar šo kļūdas ziņojumu. 1600 01:06:03,960 --> 01:06:05,850 Lai mēs varētu noteikt šo pāris veidos. 1601 01:06:05,850 --> 01:06:10,530 Mēs varam iemācīt šķindēt ko kubs ir, tikai pārvietojot kur 1602 01:06:10,530 --> 01:06:11,820 deklarācija ir. 1603 01:06:11,820 --> 01:06:14,640 Tāpēc es izgriezt un ielīmēt to atop galvenais. 1604 01:06:14,640 --> 01:06:17,770 Tagad saprotam, ka tikai tāpēc galvenais vairs pirmkārt, tas ir 1605 01:06:17,770 --> 01:06:19,150 joprojām izpildīts pēc noklusējuma. 1606 01:06:19,150 --> 01:06:20,060 Galvenais ir galvenais. 1607 01:06:20,060 --> 01:06:21,022 Tas ir noklusējuma funkcijas nosaukums. 1608 01:06:21,022 --> 01:06:22,930 Tas nav svarīgi, ja tas ir failā. 1609 01:06:22,930 --> 01:06:26,910 Bet vismaz tagad šķindēt ir redzējis kubs pirms es to izmantot. 1610 01:06:26,910 --> 01:06:28,500 Tātad, pieņemsim redzēt, ja šķindēt ir laimīgāki tagad. 1611 01:06:28,500 --> 01:06:31,410 Padariet pieaugumu, tā apkopo šo laiku. 1612 01:06:31,410 --> 01:06:33,060 >> Ļaujiet man palaist pieaugumu. 1613 01:06:33,060 --> 01:06:34,810 Un tiešām, šķiet, ir darba. 1614 01:06:34,810 --> 01:06:36,810 Tagad, jūs varat nākt klajā ar scenārijiem beidzot kur 1615 01:06:36,810 --> 01:06:38,650 tas nav iespējams, lai visas funkcijas 1616 01:06:38,650 --> 01:06:39,740 Iepriekš katru citu funkciju. 1617 01:06:39,740 --> 01:06:42,140 Jūs saņemsiet iestrēdzis šajā bezgalīga cilpa patiesībā, 1618 01:06:42,140 --> 01:06:43,480 ja tas puisis grib būt šeit, bet tas 1619 01:06:43,480 --> 01:06:44,390 puisis ir jābūt tur. 1620 01:06:44,390 --> 01:06:45,830 Tāpēc tas ne vienmēr strādā. 1621 01:06:45,830 --> 01:06:49,020 Tātad par laimi, C ir vairāk elegants risinājums. 1622 01:06:49,020 --> 01:06:50,790 Es esmu gatavojas nodot to atpakaļ, kad tā bija, tikai tāpēc, ka es 1623 01:06:50,790 --> 01:06:53,390 dod priekšroku, jo principā, ka galvenais vienmēr būs 1624 01:06:53,390 --> 01:06:55,550 augšpusē, jo tas ir tikai jauki, lai redzētu šī programma 1625 01:06:55,550 --> 01:06:56,920 dara pēc noklusējuma. 1626 01:06:56,920 --> 01:06:58,950 Un ko es esmu gatavojas darīt šeit ir atzīt to, ko sauc 1627 01:06:58,950 --> 01:07:00,250 prototips. 1628 01:07:00,250 --> 01:07:05,730 Es esmu gatavojas atkārtoti deklarēt savu kuba funkciju, burtiski 1629 01:07:05,730 --> 01:07:07,180 kopējot un ielīmējot. 1630 01:07:07,180 --> 01:07:08,290 Patiesībā, tas nav burtiski. 1631 01:07:08,290 --> 01:07:13,060 Tik burtiski kopējot un ielīmējot līnija 15 1632 01:07:13,060 --> 01:07:15,160 līdz virs 6 līniju. 1633 01:07:15,160 --> 01:07:17,010 Tas nav svarīgi, kādi līnija tas nonāks uz. 1634 01:07:17,010 --> 01:07:18,380 Tas notiek, ir par 4 līnijas. 1635 01:07:18,380 --> 01:07:19,950 Bet tā ir jābūt, pirms galvenais. 1636 01:07:19,950 --> 01:07:21,150 Bet pamanīt atšķirību. 1637 01:07:21,150 --> 01:07:24,100 Līnija 4 beidzas ar semikolu, kas nozīmē hey, 1638 01:07:24,100 --> 01:07:27,510 Šķindoņa, ņem manu vārdu par to, ka pastāv funkcijas 1639 01:07:27,510 --> 01:07:31,350 sauc kubs, kas ņem int un atgriež int. 1640 01:07:31,350 --> 01:07:33,020 Bet es neesmu gonna pateikt, kas tas ir vēl. 1641 01:07:33,020 --> 01:07:35,180 Tikai zinu, ka es apsolu pateikt beidzot. 1642 01:07:35,180 --> 01:07:38,490 Un tiešām, tagad tas ir labi, ka tas ir zemāk. 1643 01:07:38,490 --> 01:07:41,275 >> Tātad tas parasti ir labāk, jo tad augšā 1644 01:07:41,275 --> 01:07:44,240 Jūsu fails, jūs varat vienkārši grabēt off, ātru uguns, viena līnija 1645 01:07:44,240 --> 01:07:46,470 katrs, kādas ir jūsu funkcijas vārdi, kāda ir to 1646 01:07:46,470 --> 01:07:49,120 izejvielas, kādi ir viņu rezultāti ir. 1647 01:07:49,120 --> 01:07:52,210 Un, lai būtu skaidrs, ieeja parasti nozīmē argumentu vai 1648 01:07:52,210 --> 01:07:54,110 parametrs, sinonīms. 1649 01:07:54,110 --> 01:07:56,890 Izeja ir atgriešanās vērtību, ko tas 1650 01:07:56,890 --> 01:07:58,700 rokas atpakaļ uz mani. 1651 01:07:58,700 --> 01:08:03,420 Tātad šajā gadījumā šeit, kubs ir pasludināts augšpusē, bet 1652 01:08:03,420 --> 01:08:06,940 definēts, citādi zināma kā īstenots, apakšā. 1653 01:08:06,940 --> 01:08:09,620 Tāpēc tagad iesim atpakaļ šeit un atkārtoti palaist šo. 1654 01:08:09,620 --> 01:08:13,430 Tāpēc tagad ļaujiet man iet uz priekšu un atkal palaist padarīt, atkārtoti palaist pieaugums. 1655 01:08:13,430 --> 01:08:16,500 Un tagad, šķiet, ir strādā tikai naudas sodu. 1656 01:08:16,500 --> 01:08:19,450 Tātad tagad mēs varam iet uz priekšu un faktors, kas kaut ko līdzīgu 1657 01:08:19,450 --> 01:08:23,720 alus piemēru par šo ceturto versiju. 1658 01:08:23,720 --> 01:08:25,590 Tāpēc ļaujiet man ritiniet uz leju šeit. 1659 01:08:25,590 --> 01:08:28,149 Un ievēroju, ka es veida ņēma šo tēmu, lai sirdi tikai tagad. 1660 01:08:28,149 --> 01:08:31,140 Fakts, ka es dziedu to pašu strofa atkal un 1661 01:08:31,140 --> 01:08:34,130 atkal un atkal, tas pats koris līnija dziesmu, filcs 1662 01:08:34,130 --> 01:08:36,439 like kāpēc ne es faktors, kas ārā funkciju? 1663 01:08:36,439 --> 01:08:38,470 Un tiešām, tas būtu viens no motīviem. 1664 01:08:38,470 --> 01:08:40,960 Bez tam, ka kāds cits pasaulē varētu vēlēties 1665 01:08:40,960 --> 01:08:42,390 izmantot kuba funkciju - 1666 01:08:42,390 --> 01:08:44,560 tas labs iemesls, lai faktors kaut ko un uzrakstiet 1667 01:08:44,560 --> 01:08:45,720 pašu pasūtījuma funkcija - 1668 01:08:45,720 --> 01:08:48,720 ja tur koda gabalu savā programmā, kas tikai padara 1669 01:08:48,720 --> 01:08:51,370 konceptuālā nozīmē, ka jūs veida vēlaties, lai dotu tai 1670 01:08:51,370 --> 01:08:53,740 nosaukums - tāpat kā šajā gadījumā, koris - 1671 01:08:53,740 --> 01:08:57,380 tad jūs varat līdzīgi rakstīt, ka par atsevišķu funkciju. 1672 01:08:57,380 --> 01:08:59,560 Jums nav rakstīt visu, galvenais, ja tas vienkārši 1673 01:08:59,560 --> 01:09:02,609 jūtas tīrītājs nodalīt to, un piešķir tai nosaukumu. 1674 01:09:02,609 --> 01:09:05,529 >> Tātad šajā gadījumā šeit, pamanīsiet, ka man ir komentāru atop 1675 01:09:05,529 --> 01:09:06,859 Šo funkciju, kas tikai dzied par 1676 01:09:06,859 --> 01:09:08,630 norādītie numuri pudeles. 1677 01:09:08,630 --> 01:09:10,609 Pamanīt šeit, ka man nav nepieciešams, lai izsauktu šos 1678 01:09:10,609 --> 01:09:12,520 lietas ieejas un izejas. 1679 01:09:12,520 --> 01:09:16,090 Patiesībā šoreiz es tikai sauc manu ieejas b par pudeli. 1680 01:09:16,090 --> 01:09:19,960 Un pamanīt šeit, anulēts liecina ko? 1681 01:09:19,960 --> 01:09:21,309 Ka koris - 1682 01:09:21,309 --> 01:09:22,660 Mērķauditorija: Vai to atpakaļ. 1683 01:09:22,660 --> 01:09:23,870 David J. Malan: neatgriež vērtību. 1684 01:09:23,870 --> 01:09:26,800 Un tiešām, funkcijas nav atgriezties vērtības. 1685 01:09:26,800 --> 01:09:28,060 Viņi var tikai kaut ko darīt. 1686 01:09:28,060 --> 01:09:30,270 Tie var būt, ko sauc blakusparādības, kas šajā 1687 01:09:30,270 --> 01:09:33,109 lieta ir tikai viss ķekars drukāšanas uz ekrāna. 1688 01:09:33,109 --> 01:09:36,580 Tāpēc ievērosiet, ka šis kods šeit, es burtiski tikko nozaga no 1689 01:09:36,580 --> 01:09:37,680 iepriekšējā piemērs. 1690 01:09:37,680 --> 01:09:39,930 Vienīgā atšķirība ir tā vietā izmantojot i kā manu 1691 01:09:39,930 --> 01:09:42,890 mainīgs, es esmu tagad, izmantojot B kā manu mainīgo. 1692 01:09:42,890 --> 01:09:45,880 Tāpēc man ir b šeit lejā, man ir b šeit lejā, man ir b 1693 01:09:45,880 --> 01:09:47,109 mīnus 1 leju šeit. 1694 01:09:47,109 --> 01:09:49,279 Bet kods ir tieši tāds pats. 1695 01:09:49,279 --> 01:09:52,529 Bet tikai, lai parādītu jums, tagad, kā mēs varam izmantot šo, ļaujiet man iet 1696 01:09:52,529 --> 01:09:56,780 priekšu un faktiski mainīt būt par cilpu. 1697 01:09:56,780 --> 01:10:03,850 par (int i = n, i> n, i -). 1698 01:10:03,850 --> 01:10:06,230 >> Tāpēc es esmu nozagta, ka no iepriekšējā piemēra. 1699 01:10:06,230 --> 01:10:08,970 Agrāk, tas ir 37 rindā, ka man būtu sākuši 1700 01:10:08,970 --> 01:10:10,640 dziedot šo kaitinošas dziesmu. 1701 01:10:10,640 --> 01:10:15,810 Bet tā vietā, es esmu tikai gatavojas tagad saucam koris i. 1702 01:10:15,810 --> 01:10:16,870 Darīts. 1703 01:10:16,870 --> 01:10:20,260 Tāpēc tagad katrā atkārtojuma šīs cilpas, es aicinu šo citu 1704 01:10:20,260 --> 01:10:22,220 funkcija, koris, kas man gadījās rakstīt. 1705 01:10:22,220 --> 01:10:24,110 Tas nebija rakstīts kāds cits gadiem. 1706 01:10:24,110 --> 01:10:27,930 Bet koris, tikmēr izmanto printf drukāt 1707 01:10:27,930 --> 01:10:29,840 ārpus šīm četrām pozīcijām. 1708 01:10:29,840 --> 01:10:32,720 Bet fakts, ka es esmu aicinot koris atkal un atkal 1709 01:10:32,720 --> 01:10:35,900 cilpa nozīmē, ka es esmu gatavojas saņemt, pašās beigās, 1710 01:10:35,900 --> 01:10:39,310 Precīzs pati dziesma, jo man ir līdz šim. 1711 01:10:39,310 --> 01:10:42,130 Tātad īsumā, tagad, ja es atskatos uz manu kodu, lai gan 1712 01:10:42,130 --> 01:10:44,240 funkcionāli tas ir līdzvērtīgs, ievērosiet, ka tas ir 1713 01:10:44,240 --> 01:10:46,020 sāk iegūt vēl lasāms. 1714 01:10:46,020 --> 01:10:48,410 Man nav īsti zināt, cik GetInt 1715 01:10:48,410 --> 01:10:49,250 tiek īstenots. 1716 01:10:49,250 --> 01:10:52,050 Atklāti sakot, es nezinu, kā koris tiek īstenota. 1717 01:10:52,050 --> 01:10:52,970 Bet tas nav jautājums man. 1718 01:10:52,970 --> 01:10:55,620 Man vienalga, jo tagad es varu veida, kā cilvēku, lasīt 1719 01:10:55,620 --> 01:10:57,050 tas no augšas uz leju. 1720 01:10:57,050 --> 01:10:59,950 Un tāpēc, ka funkcijas tiek nosaukti saskaņā ar ko tie 1721 01:10:59,950 --> 01:11:02,910 do, mans kods ir arvien lasāma. 1722 01:11:02,910 --> 01:11:05,190 Un kā mūsu programmas iegūt daudz sarežģītāka - 1723 01:11:05,190 --> 01:11:07,220 ko semestra beigām, jums būs rakstiski simtiem līniju 1724 01:11:07,220 --> 01:11:10,970 gada koda valodu, piemēram, PHP un JavaScript un līdzīgu - 1725 01:11:10,970 --> 01:11:13,550 Jūs atradīsiet, ka tas ir tik daudz vieglāk, nekā sekot 1726 01:11:13,550 --> 01:11:14,080 ko jūs esat darījuši. 1727 01:11:14,080 --> 01:11:15,810 Un, kad jūs sākat sadarboties ar draugiem vai 1728 01:11:15,810 --> 01:11:19,010 partneriem vai kolēģiem, jūs varēsiet rakstīt daudz 1729 01:11:19,010 --> 01:11:22,910 masīvas programmas, sākot izmantot šos pamata 1730 01:11:22,910 --> 01:11:23,990 celtniecības bloki. 1731 01:11:23,990 --> 01:11:25,550 >> Tātad ar to teica, kāpēc nav mēs to saucam dienā? 1732 01:11:25,550 --> 01:11:27,190 Un mēs redzēt jūs trešdien. 1733 01:11:27,190 --> 01:11:33,611 [Aplausi]