1 00:00:00,000 --> 00:00:05,530 2 00:00:05,530 --> 00:00:09,790 >> PROFESSOR: Tātad darba kārtība šonedēļ, nav tik daudz sīkumi. 3 00:00:09,790 --> 00:00:12,801 Bet cerams ļoti, ļoti noderīga un kas attiecas uz jums puiši šonedēļ. 4 00:00:12,801 --> 00:00:15,550 Bet mēs esam gatavojas tērēt varbūt 15, 20 minūtes vienkārši ātri talking 5 00:00:15,550 --> 00:00:17,370 par saiti sarakstā. 6 00:00:17,370 --> 00:00:19,694 Link saraksti gatavojas attiekties uz viktorīnas. 7 00:00:19,694 --> 00:00:22,610 Tāpēc varbūt tas būtu ļoti noderīga lai uzzinātu mazliet par to, kas tas ir. 8 00:00:22,610 --> 00:00:25,210 >> Mēs ejam, lai tērēt lielais Lielākā daļa mūsdienu sadaļas 9 00:00:25,210 --> 00:00:27,640 iet pa viktorīna nulles prakses problēmām. 10 00:00:27,640 --> 00:00:30,970 Un tad mēs ietaupītu varbūt 20, 30 minūtēm beigās par jebkuru ielaistu jautājumiem 11 00:00:30,970 --> 00:00:32,850 kāds ir. 12 00:00:32,850 --> 00:00:34,610 >> Un tad, pēdējais piecas minūtes, es eju 13 00:00:34,610 --> 00:00:36,467 sniegt sūknis runu par viktorīnas. 14 00:00:36,467 --> 00:00:38,050 Jūs guys visi vēlas būt šeit par to. 15 00:00:38,050 --> 00:00:39,591 Jo tas būs labs laiks. 16 00:00:39,591 --> 00:00:42,650 17 00:00:42,650 --> 00:00:49,230 >> Labi, tāpēc daži materiāls uz saites sarakstā. 18 00:00:49,230 --> 00:00:52,620 Kā viņi parasti ir strukturēta Jums ir to, ko sauc par mezglu, vai ne? 19 00:00:52,620 --> 00:00:54,870 Jums ir šīs lietas sauc mezglus, kas ir structs. 20 00:00:54,870 --> 00:00:57,360 Es iešu par to, kā izveidot mezglu nākamo slaidu. 21 00:00:57,360 --> 00:01:00,680 Bet būtībā viss saistīts sarakstos ir dati, 22 00:01:00,680 --> 00:01:03,340 ir savērtas kopā, izmantojot norādes. 23 00:01:03,340 --> 00:01:09,110 >> Un tā priekšrocība mums no izmantojot saistīts sarakstu vairāk, 24 00:01:09,110 --> 00:01:11,280 varbūt, piemēram, masīvs, ir fakts, ka masīva 25 00:01:11,280 --> 00:01:15,000 jums ir nepieciešams viens blakusesošo bloks atmiņa visi tajā pašā vietā, viens 26 00:01:15,000 --> 00:01:16,870 pēc otra, lai varētu būt, ka. 27 00:01:16,870 --> 00:01:20,200 Tā saistītajā sarakstā, jūs varētu ir izlases maz biti atmiņas 28 00:01:20,200 --> 00:01:23,020 pa visu datoru savērtas kopā ar norādes. 29 00:01:23,020 --> 00:01:26,270 >> Un šādā veidā jūs var piekļūt informācijai 30 00:01:26,270 --> 00:01:28,610 kas nāk viens pēc cits, pēc tam, kad otra 31 00:01:28,610 --> 00:01:32,720 bez nepieciešamības tikai milzīgs rieciens atmiņa datorā kaut kur. 32 00:01:32,720 --> 00:01:35,910 Un tā tas ir viens no galvenajiem iemesli, kāpēc mēs izmantojam saišu sarakstu. 33 00:01:35,910 --> 00:01:40,300 >> Otrkārt, tas ir ļoti viegli, lai dinamiski mainītu saite sarakstu, jo masīvā, 34 00:01:40,300 --> 00:01:44,720 kad jūs deklarēt masīvu, Jums ir zināma iestatīto vērtību. 35 00:01:44,720 --> 00:01:47,340 Teiksim, es gribēju, lai izveidotu masīvs 10 veseli skaitļi. 36 00:01:47,340 --> 00:01:49,970 Es izveidot masīvu 10 veseli skaitļi, un tas arī viss. 37 00:01:49,970 --> 00:01:50,580 Tas ir 10. 38 00:01:50,580 --> 00:01:52,038 Es nezinu, ko darīt pēc tam. 39 00:01:52,038 --> 00:01:53,680 Ja es gribēju, lai to 11, nevar darīt to. 40 00:01:53,680 --> 00:01:55,710 Ja es gribu, panākot 9, nevar darīt to. 41 00:01:55,710 --> 00:01:59,910 >> Tā kā saite sarakstā, jūs varat pievienot un dzēst un ievietot, kur vien vēlaties. 42 00:01:59,910 --> 00:02:04,940 Jūs varat dinamiski mainīt savu strukturēt šeit, jūsu datu struktūra. 43 00:02:04,940 --> 00:02:08,370 Un tas dod mums daudz vairāk pievienotās elastīgums 44 00:02:08,370 --> 00:02:11,320 ka mums nav parasti ir ar masīviem. 45 00:02:11,320 --> 00:02:15,210 >> Ikviens sajaukt par pamata struktūra, kā saite saraksts ir 46 00:02:15,210 --> 00:02:17,930 vai kāpēc mums ir jāizmanto vienu pār masīvu? 47 00:02:17,930 --> 00:02:20,330 Jā, mēs iet pār detalizēti kā faktiski izveidot vienu. 48 00:02:20,330 --> 00:02:24,121 Bet tas ir tikai sava veida vispārīgā nozīmē tieši tagad. 49 00:02:24,121 --> 00:02:24,620 Cool. 50 00:02:24,620 --> 00:02:28,770 Un tā masīvi tiek savērtas kopā Šo jauki sīkumiem 51 00:02:28,770 --> 00:02:29,960 sauc par mezgliem. 52 00:02:29,960 --> 00:02:32,210 Visi mezglu ir ir veids struct. 53 00:02:32,210 --> 00:02:36,090 Atcerieties, struct ir, ja jūs vēlaties, lai izveidotu noteikta tipa mainīgo 54 00:02:36,090 --> 00:02:39,850 C, ka nav jau pastāv, jūs, kā programmētājs, 55 00:02:39,850 --> 00:02:42,030 faktiski var radīt tas pats. 56 00:02:42,030 --> 00:02:46,540 >> Un tāpēc šāda veida datu struktūra sauc mezglā, 57 00:02:46,540 --> 00:02:50,770 faktiski ir izveidota ar mums, kas neeksistē laikā C pati. 58 00:02:50,770 --> 00:02:53,150 Un tā, ka jums izveidot viens ir jums 59 00:02:53,150 --> 00:02:57,170 galvenē typedef struktūrai, kas stāsta kompilators es esmu 60 00:02:57,170 --> 00:02:59,640 par to, lai izveidotu struct. 61 00:02:59,640 --> 00:03:00,830 >> Mēs ejam vārdu tā "mezglā." 62 00:03:00,830 --> 00:03:03,350 Un iekšā mēs ejam atzīt mainīgais, 63 00:03:03,350 --> 00:03:05,060 kas gatavojas glabāt vērtību. 64 00:03:05,060 --> 00:03:09,320 Un tad mēs arī gatavojamies ir rādītājs, ko sauc par "Next" 65 00:03:09,320 --> 00:03:12,090 kas norāda uz nākamo mezglu saite sarakstā. 66 00:03:12,090 --> 00:03:14,730 Un tad jūs pabeigt, ka off , tikai atkārtojot mezglu atkal tik 67 00:03:14,730 --> 00:03:17,490 kompilators zina, OK tas ir beigu mana struct. 68 00:03:17,490 --> 00:03:22,540 >> Un tā šādā veidā, mēs esam sava veida radīt cute maz masīvs 69 00:03:22,540 --> 00:03:25,450 veida lieta ar vērtība un ar rādītāju. 70 00:03:25,450 --> 00:03:27,757 Un jūs varat saistīt tos visus kopā ar šiem norādes. 71 00:03:27,757 --> 00:03:30,090 Tā, ka tie var visa veida būt savērtas kopā ķēdē. 72 00:03:30,090 --> 00:03:32,920 73 00:03:32,920 --> 00:03:34,162 >> Cool. 74 00:03:34,162 --> 00:03:35,453 Vai jūs dzirdat, ka mazliet labāk? 75 00:03:35,453 --> 00:03:36,140 >> Mērķauditorija: Jā. 76 00:03:36,140 --> 00:03:38,540 >> PROFESSOR: Nu labi. 77 00:03:38,540 --> 00:03:44,280 Tātad tā, ka, kā jūs guys var redzēt, tipisks saite saraksts ir strukturēta 78 00:03:44,280 --> 00:03:45,500 ir jums ir galva. 79 00:03:45,500 --> 00:03:49,460 Jums ir galvas vērtību, kas nav ko norādījusi jebkura cita rādītājs. 80 00:03:49,460 --> 00:03:53,177 Bet tas notiek, lai brīdi, vai atsauce, cits mezgls. 81 00:03:53,177 --> 00:03:56,510 Mezgls pēc gatavojas atsauci mezglā pēc ka, un tā tālāk, un tā tālāk 82 00:03:56,510 --> 00:03:59,170 kamēr jūs beidzot hit beigas jūsu saite saraksta. 83 00:03:59,170 --> 00:04:00,980 Un jūs vienkārši nebūs rādītāju tur. 84 00:04:00,980 --> 00:04:04,659 >> Un tā, domāju tāpat, uz ķēdi, vai pat ja kāds no jums guys veikti, es nezinu, 85 00:04:04,659 --> 00:04:06,450 kā ar Augļu Loops kad jums bija maz. 86 00:04:06,450 --> 00:04:08,590 Jums būtu string tos kopā un valkāt viņiem ap kaklu. 87 00:04:08,590 --> 00:04:09,840 Domāju, ka tas ir tieši tas pats. 88 00:04:09,840 --> 00:04:12,964 Jums ir šos maz lietas, kas jums var string kopā, ka punkts uz vienu 89 00:04:12,964 --> 00:04:15,291 pēc tam, ar to, kas pēc tā, un tā tālāk, un tā tālāk 90 00:04:15,291 --> 00:04:17,040 kamēr jums ir ķēdes no datu struktūras 91 00:04:17,040 --> 00:04:21,190 ka jūs varat izmantot, tomēr vēlaties. 92 00:04:21,190 --> 00:04:27,370 >> Tātad tā, ka tas mums būtu parasti ievietot vai dzēst 93 00:04:27,370 --> 00:04:30,020 jebkurš mezglā no saites saraksts ir ļoti atšķirīga 94 00:04:30,020 --> 00:04:31,970 atkarībā no tā, kur tas mezgls ir. 95 00:04:31,970 --> 00:04:34,880 Tātad, piemēram, jo norādes ir vienmēr 96 00:04:34,880 --> 00:04:38,645 norādot konkrētu vērtību, kad jūs izdzēst vai ievietot mezglu, 97 00:04:38,645 --> 00:04:41,770 Jūs vēlaties pārliecināties, ka rādītājs ir visi norādot pareizās lietas. 98 00:04:41,770 --> 00:04:46,200 >> Tātad, ja jūs vēlaties, lai, iespējams, ievietot jaunu mezglu ar vērtību viens 99 00:04:46,200 --> 00:04:48,379 iekšā šķiroto saiti saraksts, mēs visi zinām, šeit 100 00:04:48,379 --> 00:04:51,170 no attēla, kas notiek, lai iet starp galvu un divām, vai ne? 101 00:04:51,170 --> 00:04:52,620 Jo viens der labi tur. 102 00:04:52,620 --> 00:04:59,060 Bet veids, kādā mēs varētu darīt, ka ir vispirms dereferencing rādītāju 103 00:04:59,060 --> 00:05:02,160 no galvas un nosūtot ka vienam. 104 00:05:02,160 --> 00:05:05,040 >> Bet mēs nonākt problēmu šeit. 105 00:05:05,040 --> 00:05:08,280 Vai kāds redzētu, kāda problēma ir, ja mēs būtu pirmajā izlietota 106 00:05:08,280 --> 00:05:10,090 rādītājs no galvas līdz vienam? 107 00:05:10,090 --> 00:05:14,202 Kāda problēma, mēs varētu uzskriet ja mēs cenšamies pievienot šo uz priekšu mūsu masīva? 108 00:05:14,202 --> 00:05:15,409 >> Mērķauditorija: [dzirdams] 109 00:05:15,409 --> 00:05:16,200 PROFESSOR: Tieši tā. 110 00:05:16,200 --> 00:05:20,000 Tātad šeit mums ir rādītājs, kas bija reiz virzienā no galvas līdz diviem. 111 00:05:20,000 --> 00:05:23,120 Bet, ja jums atbrīvoties no tā rādītājs, norādāt to vienu, 112 00:05:23,120 --> 00:05:26,500 tagad mums nav ne jausmas kur doties, lai atrastu divus. 113 00:05:26,500 --> 00:05:29,850 Jo, kā jau teicu iepriekš, jūs esat ieguvuši milzu rieciens atmiņas datorā. 114 00:05:29,850 --> 00:05:31,860 Visi šie mezgli varētu nejauši mijas 115 00:05:31,860 --> 00:05:33,350 jebkurā vietā jūsu datorā. 116 00:05:33,350 --> 00:05:36,140 Un jūs nezināt, kā iet par atrast to. 117 00:05:36,140 --> 00:05:40,420 >> Un tāpēc jums ir nepieciešams, lai būtu norādes norādot uz visiem mezgliem beigās. 118 00:05:40,420 --> 00:05:42,420 Vai arī, ja jūs nejauši dereference viens 119 00:05:42,420 --> 00:05:44,485 bez pirmās piešķiršana vērtība, pirmkārt, jūs esat 120 00:05:44,485 --> 00:05:47,410 tikai gatavojas zaudēt viss pēc tam. 121 00:05:47,410 --> 00:05:49,720 >> Tātad, ko mēs ejam, lai darīt, ir, jūs varētu vispirms 122 00:05:49,720 --> 00:05:53,270 vēlas izveidot rādītāju mezglu vēlaties ievietot. 123 00:05:53,270 --> 00:05:55,270 Norādīt to, kur jūs vēlaties ievietot to, 124 00:05:55,270 --> 00:05:59,410 un tad pēc tam jums varētu norādīt galvu atpakaļ uz vienu. 125 00:05:59,410 --> 00:06:02,800 >> Vai tas ir jēga, lai visiem šeit? 126 00:06:02,800 --> 00:06:03,346 Liels. 127 00:06:03,346 --> 00:06:04,720 Domājiet par to kā, tāpat kā ķēdi. 128 00:06:04,720 --> 00:06:07,420 Ja jūs pievienot ķēdi, tas ir sava veida intuitīvs 129 00:06:07,420 --> 00:06:10,742 kā jūs iet par ievietojot to. 130 00:06:10,742 --> 00:06:15,274 >> Labi, tā ka faktiski ir daudz īsāks, nekā es domāju, ka būtu, 131 00:06:15,274 --> 00:06:16,690 piecu minūšu Spiel uz saites sarakstos. 132 00:06:16,690 --> 00:06:19,960 Vienkārši, lai jūs guys ir lēmums Pamatideja, kas tas ir. 133 00:06:19,960 --> 00:06:23,580 >> Šeit mums ir darba kārtība viktorīnas nulles. 134 00:06:23,580 --> 00:06:24,895 Neļaujiet šo iebiedēt jums. 135 00:06:24,895 --> 00:06:26,270 Es zinu, tas ir daudz informācijas. 136 00:06:26,270 --> 00:06:27,580 Tas izskatās ļoti biedējošu. 137 00:06:27,580 --> 00:06:33,130 Tā ir arī daudz, es domāju, CSC veida nosacījumiem. 138 00:06:33,130 --> 00:06:37,440 Lietas, piemēram, heksadecimālo stīgas, Norādes, dinamiskā atmiņas piešķīrumi 139 00:06:37,440 --> 00:06:40,120 ir ļoti biedējošu skan termini. 140 00:06:40,120 --> 00:06:42,700 >> Bet mēs ejam, lai izjauktu tiem uz leju, tie daži prakses problēmas 141 00:06:42,700 --> 00:06:44,980 Lai jūs puiši visi ir gatavi šo testu. 142 00:06:44,980 --> 00:06:47,104 Cik daudzi no jums, puiši ir jau sāku studēt? 143 00:06:47,104 --> 00:06:50,040 144 00:06:50,040 --> 00:06:53,670 >> Labi, jūs puiši, iespējams, vēlas sākt iesākumam 145 00:06:53,670 --> 00:06:56,480 uz to, jo viktorīna ir rīt. 146 00:06:56,480 --> 00:06:58,739 Vai ceturtdiena daži no jums. 147 00:06:58,739 --> 00:07:01,030 Jā, tāpēc mēs esam gatavojas iet pār dažām prakses problēmām. 148 00:07:01,030 --> 00:07:04,600 Ja jūs puiši visi vēlamies, lai ņemtu out papīra lapas, zīmuli. 149 00:07:04,600 --> 00:07:07,310 Mēs ejam, lai vienkārši pavadīt Lielākā daļa mūsdienu sadaļas 150 00:07:07,310 --> 00:07:11,590 iet pār daži, kas tik jums puiši ir ideja par to, ko gaidīt uz viktorīnas. 151 00:07:11,590 --> 00:07:14,957 152 00:07:14,957 --> 00:07:16,890 >> LABI. 153 00:07:16,890 --> 00:07:19,730 Pāris loģistikas detaļas, kā arī, lai ikvienam 154 00:07:19,730 --> 00:07:25,120 kurš nav bijis šo saiti tur, ja doties uz cs50.yale.edu, priekšpusē 155 00:07:25,120 --> 00:07:28,566 Šī lapa ir saite ka saka "Par viktorīna Zero". 156 00:07:28,566 --> 00:07:29,440 Saite jūs aizvedīs tur. 157 00:07:29,440 --> 00:07:31,065 Ja jūs neesat izlasījis, lūdzu, izlasiet to. 158 00:07:31,065 --> 00:07:34,470 Jo tā stāsta jums patiešām svarīgi informācija par viktorīnas. 159 00:07:34,470 --> 00:07:37,410 >> Es esmu gatavojas pull šo ārā no ka tikai tāpēc, fiziski, 160 00:07:37,410 --> 00:07:40,200 ja jūs guys nezināt, kur iet, mums būs problēmas. 161 00:07:40,200 --> 00:07:44,220 Un tāpēc, ja jūsu pēdējā ziņā ar A līdz N, dodieties uz likumu skolas auditorijā. 162 00:07:44,220 --> 00:07:47,500 Un, ja jūsu pēdējā sākas ar P līdz Z, dodieties uz Davies Auditorium. 163 00:07:47,500 --> 00:07:50,240 Un tas attiecas tikai uz cilvēki trešdienas nodaļā. 164 00:07:50,240 --> 00:07:53,420 >> Ja jūs lietojat viktorīnas par Ceturtdiena, jums iet uz SSS 114 165 00:07:53,420 --> 00:07:55,078 kur jūsu lekcija parasti ir. 166 00:07:55,078 --> 00:07:55,953 Mērķauditorija: [dzirdams] 167 00:07:55,953 --> 00:07:59,316 168 00:07:59,316 --> 00:08:01,940 PROFESSOR: O līdz Z, jūs gatavojas iet uz Davies auditorijā. 169 00:08:01,940 --> 00:08:03,273 Es esmu gatavojas mainīt to, vai ne? 170 00:08:03,273 --> 00:08:05,670 171 00:08:05,670 --> 00:08:09,698 >> Ak, jā, tu vienkārši nespēj automātiski. 172 00:08:09,698 --> 00:08:11,753 >> Ak jā, tas ir jums Christa. 173 00:08:11,753 --> 00:08:15,190 174 00:08:15,190 --> 00:08:16,030 Jā, mans slikti. 175 00:08:16,030 --> 00:08:17,610 Yep, O līdz Z, jūs gatavojas doties uz Davies Auditorim. 176 00:08:17,610 --> 00:08:19,140 Es esmu gatavojas noteikt šo, kad es augšupielādēt. 177 00:08:19,140 --> 00:08:20,320 Jā. 178 00:08:20,320 --> 00:08:22,160 >> Un tad arī kaut kas svarīgi prātā 179 00:08:22,160 --> 00:08:25,290 ir tas, ka Trešdiena, ja Jums ir oficiāli uzņemti trešdienas nodaļā, 180 00:08:25,290 --> 00:08:26,832 Jums ir veikt savu viktorīnas trešdien. 181 00:08:26,832 --> 00:08:29,706 Un, ja jūs esat uzņemti ceturtdien, Jums ir veikt savu viktorīnas ceturtdien. 182 00:08:29,706 --> 00:08:31,000 Un tas ir laikā klases laikā. 183 00:08:31,000 --> 00:08:35,970 Kur, es domāju, ka tas ir kā 1:00 līdz 02:15 trešdienās un 2:30-03:45 184 00:08:35,970 --> 00:08:37,220 ceturtdienās. 185 00:08:37,220 --> 00:08:41,710 >> Ja jums ir par nesavienojamu konfliktus, Dekāna attaisnojumi ir vienīgā lieta, 186 00:08:41,710 --> 00:08:43,030 diemžēl, mēs varam veikt. 187 00:08:43,030 --> 00:08:45,560 Tāpēc, ka mums ir bijusi Lielākā daļa pieprasījumu 188 00:08:45,560 --> 00:08:47,970 pāriet no trešdienas līdz ceturtdienai. 189 00:08:47,970 --> 00:08:51,265 Ko mēs nevaram godu, ja vien Mums ir prāvesta pieprasījumu. 190 00:08:51,265 --> 00:08:52,650 >> LABI. 191 00:08:52,650 --> 00:08:57,000 Tātad, pirms mēs sāktu par Pāris prakses problēmām, 192 00:08:57,000 --> 00:09:00,540 Es esmu tikai gatavojas iet pa Andy noderīgi padomi, lai gūtu panākumus. 193 00:09:00,540 --> 00:09:04,140 Jūs guys, kad jūs mācīties, jums tiešām vēlas praktizēt rakstot kodu ar roku. 194 00:09:04,140 --> 00:09:07,050 Pirmo reizi es kādreiz paņēma CS viktorīnu, man bija ne 195 00:09:07,050 --> 00:09:09,960 prakse rakstīšana kods ar rokām pirms un tas bija ļoti 196 00:09:09,960 --> 00:09:11,890 šokējoši, cik grūti bija. 197 00:09:11,890 --> 00:09:16,125 >> Kad jūs puiši nav iekļuvuši ieradums rakstīt ārā visu, 198 00:09:16,125 --> 00:09:20,260 runa ļoti dabiski ir iespēja saņemt autocompleted 199 00:09:20,260 --> 00:09:22,015 kronšteini un semikoliem tur. 200 00:09:22,015 --> 00:09:23,890 Kad jūs rakstīt to ārā ar rokām, reizēm tas ir 201 00:09:23,890 --> 00:09:27,100 ļoti, ļoti viegli aizmirst semikolu, vai aizmirst aizvērt kronšteinu, 202 00:09:27,100 --> 00:09:30,970 vai aizmirst aizvērt kolu, vai kaut kas tamlīdzīgs. 203 00:09:30,970 --> 00:09:34,322 >> Tātad, ja jūs rakstīt kodu ar roku, tas ir ļoti atšķirīgs justies. 204 00:09:34,322 --> 00:09:37,280 Tātad, jūs puiši, ja jūs strādājat caur kādu no prakses problēmām, 205 00:09:37,280 --> 00:09:38,904 tas būtu labi, lai tiešām praksē šodien. 206 00:09:38,904 --> 00:09:41,770 Vai rīt, es domāju, ka, ja jūs esat ņemot viktorīna ceturtdien. 207 00:09:41,770 --> 00:09:45,280 >> Otrkārt, mums ir pēdējais, piemēram, astoņus gadus ir vērts prakses 208 00:09:45,280 --> 00:09:47,070 viktorīnas tiešsaistē. 209 00:09:47,070 --> 00:09:50,759 Šogad viktorīna, iespējams, būs ļoti, ļoti līdzīgi tiem visiem. 210 00:09:50,759 --> 00:09:51,800 Viņi visi ir ļoti līdzīgi. 211 00:09:51,800 --> 00:09:54,220 Jūs veida nokļūt stils veida jautājumiem 212 00:09:54,220 --> 00:09:57,250 ka mēs lūdzam, tad par tipa funkcijas, kas mēs rakstīt to, 213 00:09:57,250 --> 00:09:58,580 un tā tālāk, un tā tālāk. 214 00:09:58,580 --> 00:10:01,980 >> Tātad, ņem prakses viktorīnas, it īpaši ar laika ierobežojumu. 215 00:10:01,980 --> 00:10:05,390 75. minūtē darīt viktorīna ir nav daudz laika sprīdī. 216 00:10:05,390 --> 00:10:07,254 Tas ir ļoti, ļoti ilgi. 217 00:10:07,254 --> 00:10:09,670 Un lai jūs puiši tiešām vēlaties lai pārliecinātos, ka jūs guys ir 218 00:10:09,670 --> 00:10:11,990 ieradums rakstīšanas kods ar rokām ātri. 219 00:10:11,990 --> 00:10:15,070 Tāpēc, ka jūs nevēlaties pirmais laiks, lai redzētu viktorīnu šī garuma 220 00:10:15,070 --> 00:10:16,560 būt jūsu viktorīnā. 221 00:10:16,560 --> 00:10:20,540 Jūs guys tiešām vēlaties pārliecināties ka jūs praksē iepriekš. 222 00:10:20,540 --> 00:10:24,550 >> Ceturtkārt, jūs vēlaties, lai pārskatītu lekciju un sadaļā diapozitīvi. 223 00:10:24,550 --> 00:10:25,980 Jums nav iegaumēt lietas. 224 00:10:25,980 --> 00:10:30,430 Patiesībā, visi ir pieļaujama viena lapa no baltas papīra piezīmes, 225 00:10:30,430 --> 00:10:31,090 priekšā un aizmugurē. 226 00:10:31,090 --> 00:10:32,920 Jūs guys var rakstīt vai rakstīt. 227 00:10:32,920 --> 00:10:37,070 Ja jums atrast sev nepieciešams iegaumēt kaut kas, nodot to uz leju šajā lapā. 228 00:10:37,070 --> 00:10:40,810 >> I garantija jums, jūs nevēlaties iestrēdzis vidū šī viktorīna 229 00:10:40,810 --> 00:10:43,890 ir līdzīgi, oh yeah, kāda ir runtime šāda veida pret šāda veida. 230 00:10:43,890 --> 00:10:46,490 Vienkārši ielieciet to uz leju un kopēt to tieši no jūsu piezīmi lapas. 231 00:10:46,490 --> 00:10:50,420 Tad jūs faktiski var tikai izmantot jūsu smadzenes domāt par problēmām 232 00:10:50,420 --> 00:10:52,190 nevis atgādināt faktus. 233 00:10:52,190 --> 00:10:55,250 Un tā patiešām izmantotu jebkuru niša detaļas 234 00:10:55,250 --> 00:11:00,140 ka jūs domājat, ka jums ir nepieciešams iegaumēt, plunkšķis to uz leju par pārskata lapā. 235 00:11:00,140 --> 00:11:02,680 >> OK, kādi jautājumi loģistikas par viktorīnu 236 00:11:02,680 --> 00:11:05,510 Pirms mēs sākam kādu viktorīna problēmas praksē? 237 00:11:05,510 --> 00:11:06,416 Yeah? 238 00:11:06,416 --> 00:11:10,040 >> Mērķauditorija: man nav bijusi iespēja apskatīt viktorīnā [nedzirdama] 239 00:11:10,040 --> 00:11:11,757 bet tas būs Programma visbiežāk, 240 00:11:11,757 --> 00:11:14,090 vai tur arī būs, piemēram, zināšanu jautājumi? 241 00:11:14,090 --> 00:11:14,940 >> PROFESSOR: Tas ir daudz. 242 00:11:14,940 --> 00:11:16,731 Tātad, tā, ka es būtu aprakstīts viktorīnu 243 00:11:16,731 --> 00:11:18,810 is-- man kopā dažas prakses problēmas 244 00:11:18,810 --> 00:11:20,960 ka es velk no visiem viktorīnas. 245 00:11:20,960 --> 00:11:25,210 Bet jūs redzēsiet, ka tur ir divi galvenie veidu jautājumi, mēs lūgsim jums. 246 00:11:25,210 --> 00:11:28,750 >> Viens no tiem ir ļoti zems līmenis detaļa sīkumi. 247 00:11:28,750 --> 00:11:31,720 Mēs došu jums nelielu rieciens kodu un teikt, vai ir kļūda šeit? 248 00:11:31,720 --> 00:11:33,110 Kāds būtu izdrukāt šeit? 249 00:11:33,110 --> 00:11:35,980 Kāda būs šī kods ražot, un tā tālāk. 250 00:11:35,980 --> 00:11:38,710 Tik ļoti zema līmeņa informācijas detaļas. 251 00:11:38,710 --> 00:11:42,700 >> Un par Flip pusē, mums būs ļoti augsta līmeņa zināšanām balstītas jautājumi. 252 00:11:42,700 --> 00:11:45,190 Vai jūs varat paskaidrot, ko atšķirība starp bināro meklēšanu 253 00:11:45,190 --> 00:11:46,148 un lineāru meklēšana ir? 254 00:11:46,148 --> 00:11:48,500 Kāpēc mēs gribam, lai izmantojiet vienu pār otru? 255 00:11:48,500 --> 00:11:49,960 Iespējams, kāda ir GDB? 256 00:11:49,960 --> 00:11:51,560 Kāpēc mēs vēlamies izmantot gdb? 257 00:11:51,560 --> 00:11:54,590 Augstākā līmeņa, vairāk fundamentāls izpratne jautājumi. 258 00:11:54,590 --> 00:11:58,240 Tātad jūs redzēsiet maisījums divi no tiem par savu viktorīnā. 259 00:11:58,240 --> 00:12:01,462 >> Kaut kas cits, pirms mēs galvu taisni tajā? 260 00:12:01,462 --> 00:12:02,879 LABI. 261 00:12:02,879 --> 00:12:03,670 Mērķauditorija: Vēl viens. 262 00:12:03,670 --> 00:12:04,030 PROFESSOR: Ak, vēl viens. 263 00:12:04,030 --> 00:12:04,340 Piedodiet. 264 00:12:04,340 --> 00:12:05,631 >> Mērķauditorija: Jā, tas viss ir labi. 265 00:12:05,631 --> 00:12:10,140 Tātad jūs sakāt, 75 minūtēm tiek pārāk īss, līdzīgi kā tas ir maz ticams 266 00:12:10,140 --> 00:12:11,640 ka mēs beigsies? 267 00:12:11,640 --> 00:12:13,571 Vai, piemēram, 75 minūtes ir tieši tik daudz laika 268 00:12:13,571 --> 00:12:15,700 kā mums būtu nepieciešams, ja mēs būtu pienācīgi sagatavots? 269 00:12:15,700 --> 00:12:17,450 PROFESSOR: OK, lai viktorīna ir izaicinājums. 270 00:12:17,450 --> 00:12:19,550 Tas noteikti ir izaicinājums. 271 00:12:19,550 --> 00:12:21,092 Jūs atradīsiet sev īsā laikā. 272 00:12:21,092 --> 00:12:24,341 Jūs, iespējams, gatavojas hit, piemēram, 10, 15 minūtes, lai iet, un ir līdzīgi, sūdi. 273 00:12:24,341 --> 00:12:25,520 Man ir tik daudz vēl jādara. 274 00:12:25,520 --> 00:12:26,520 Un tas ir pilnīgi naudas sodu. 275 00:12:26,520 --> 00:12:28,740 Ikvienam ir gatavojas justies tāpat. 276 00:12:28,740 --> 00:12:31,074 >> Tikai jābūt ļoti labi apzinās cik daudz laika jums ir. 277 00:12:31,074 --> 00:12:33,490 Un tā tas ir iemesls, kāpēc es jums saku guys do prakses viktorīnas. 278 00:12:33,490 --> 00:12:36,672 Jo tas patiešām dod lielisku sajūtu no tā, ko viktorīna būs tāpat. 279 00:12:36,672 --> 00:12:39,130 Tātad, ja jums atrast sev būt iespēja gatavo praksi 280 00:12:39,130 --> 00:12:41,671 viktorīnas ar labu summu laiks, jūs varat temps sevi labi, 281 00:12:41,671 --> 00:12:45,695 tad jums nebūs problēma trešdien vai ceturtdien. 282 00:12:45,695 --> 00:12:46,575 >> Cool. 283 00:12:46,575 --> 00:12:49,200 Tātad, ja ikvienam wants-- es domāju lielākā daļa cilvēku ir papīra lapas 284 00:12:49,200 --> 00:12:49,810 out jau. 285 00:12:49,810 --> 00:12:52,604 Es esmu gatavojas būtībā vienkārši dotu jums paraugu jautājumiem, 286 00:12:52,604 --> 00:12:54,520 sniegt jums puiši, piemēram, A dažas minūtes, lai darīt to. 287 00:12:54,520 --> 00:12:59,610 Un mēs iet pār kā klasē ko atbildes uz tiem ir. 288 00:12:59,610 --> 00:13:02,860 >> Tātad tas ir ļoti tipisks agri jautājums Mēs 289 00:13:02,860 --> 00:13:06,720 jautāt jums, tikai konvertējot skaitļi starp dažādām bāzēm. 290 00:13:06,720 --> 00:13:09,070 Binārā, kā jūs guys var Atsaukt, ir pamats divi. 291 00:13:09,070 --> 00:13:12,470 Decimal ir pamats 10, vai tas, ko mēs kā cilvēki parasti interpretēt. 292 00:13:12,470 --> 00:13:17,120 Heksadecimālais ir bāze 16, kas ir nulle caur deviņām, kā arī A līdz F. 293 00:13:17,120 --> 00:13:19,990 >> Tātad tur ir četri cipari Esmu lūdz jums puiši, lai pārvērstu šeit. 294 00:13:19,990 --> 00:13:23,909 Es došu jums patīk, trīs līdz četras minūtes domāt ar to, kā 295 00:13:23,909 --> 00:13:25,200 mēs varētu iet par risināšanas šo. 296 00:13:25,200 --> 00:13:32,832 297 00:13:32,832 --> 00:13:35,710 >> Mērķauditorija: Vai mēs atļauts kalkulatori? 298 00:13:35,710 --> 00:13:37,630 >> PROFESSOR: Jums nebūs vajag kalkulatori, jā. 299 00:13:37,630 --> 00:13:42,420 Es domāju, ka pamata papildinājums, es domāju, ir visi jūs puiši tiks lūgts darīt. 300 00:13:42,420 --> 00:14:41,700 301 00:14:41,700 --> 00:14:45,070 >> Un tieši tāpēc es veida ir sajūta no tā, kad visi tiek darīts, meklēt, 302 00:14:45,070 --> 00:14:47,429 vilnis, es nezinu, smaids, izskatās laimīgs, ja jūs esat darīts. 303 00:14:47,429 --> 00:14:47,929 Jā. 304 00:14:47,929 --> 00:17:21,680 305 00:17:21,680 --> 00:17:23,945 Varbūt vēl pāris minūtes. 306 00:17:23,945 --> 00:18:28,080 307 00:18:28,080 --> 00:18:29,600 >> Labi, pieņemsim celt to. 308 00:18:29,600 --> 00:18:31,580 Es esmu mērķtiecīgi gatavojas dot jums puiši mazāk laika 309 00:18:31,580 --> 00:18:33,760 nekā jūs, iespējams, ir nepieciešams, lai darīt dažas no šīm problēmām, 310 00:18:33,760 --> 00:18:37,124 vienkārši tāpēc, ka es gribu, lai pārliecinātos, ka mēs caur ķekars problēmas. 311 00:18:37,124 --> 00:18:39,290 Tāpēc neuztraucieties, ja jums nav ir iespēja, lai pabeigtu. 312 00:18:39,290 --> 00:18:43,770 Pilnīgi OK, ja vien jums ir ideja par to, kā iet par to. 313 00:18:43,770 --> 00:18:45,850 So iesim uz priekšu un darīt pirmo. 314 00:18:45,850 --> 00:18:52,690 315 00:18:52,690 --> 00:18:57,870 >> Tātad, pirmkārt, vai kāds vēlas man pateikt binārā, ko darīt katrs no šiem cipariem 316 00:18:57,870 --> 00:19:00,484 pārstāvēt ziņā savām vērtībām? 317 00:19:00,484 --> 00:19:01,250 Yeah? 318 00:19:01,250 --> 00:19:03,349 >> Mērķauditorija: Divi uz jauda nulle, divi pret vienu. 319 00:19:03,349 --> 00:19:04,140 PROFESSOR: Tieši tā. 320 00:19:04,140 --> 00:19:04,640 So. 321 00:19:04,640 --> 00:19:13,430 322 00:19:13,430 --> 00:19:16,430 >> Tiesības, tāpēc parasti kad mēs esam bāzi 10 323 00:19:16,430 --> 00:19:20,580 visi tie pārstāv, ir, piemēram, 10 uz pamatnes nulles, pa labi? 324 00:19:20,580 --> 00:19:21,810 Tas ir jūsu savu vietu. 325 00:19:21,810 --> 00:19:24,520 Visas jūsu 10 s vieta ir ir 10 ar jaudu viens. 326 00:19:24,520 --> 00:19:26,600 Jums 100 s vieta ir 10 ar jaudu diviem. 327 00:19:26,600 --> 00:19:29,570 >> Neatkarīgi bāze tu esi notiek darīt ar tieši to pašu, 328 00:19:29,570 --> 00:19:31,480 tikai ar atšķirīgu bāzi. 329 00:19:31,480 --> 00:19:34,130 Tātad binārā, viss, kas ir, ir pamats divi. 330 00:19:34,130 --> 00:19:37,110 Jūs esat gatavojas pārvērst visu cipariem divās lai kāds spēks 331 00:19:37,110 --> 00:19:38,190 Šīs cipars. 332 00:19:38,190 --> 00:19:41,450 Un tā šajā ziņā mēs var būt vieglāk veids 333 00:19:41,450 --> 00:19:43,800 ka tie var pievienot uz augšu vai Apkopojot visus numurus, lai 334 00:19:43,800 --> 00:19:46,010 pārveidot bāzi 10. 335 00:19:46,010 --> 00:19:50,362 >> Tātad vai kāds vēlas man pateikt, ko atbilde uz pirmo ir bāzē desmit? 336 00:19:50,362 --> 00:19:51,674 >> Mērķauditorija: Divi, [nedzirdama] 337 00:19:51,674 --> 00:19:52,340 PROFESSOR: Jā. 338 00:19:52,340 --> 00:19:53,230 Mērķauditorija: 42. 339 00:19:53,230 --> 00:19:56,560 PROFESSOR: 42, tur jums iet. 340 00:19:56,560 --> 00:20:00,660 Tātad, kā mēs saņēmām šādu atbildi bija par darot divas pirmās, kas ir divi. 341 00:20:00,660 --> 00:20:02,760 Plus divi trešais, kas ir astoņi. 342 00:20:02,760 --> 00:20:07,590 Plus divi līdz piektais, kas Ir kāds ir palicis pāri. 343 00:20:07,590 --> 00:20:09,390 Jūs Apkopojot tos, un tas ir 42. 344 00:20:09,390 --> 00:20:12,000 >> Vai kāds sajaukt par to, kā mēs saņēmām, ka? 345 00:20:12,000 --> 00:20:15,630 Tātad pamata papildinājums, piemēram, Es teicu, jums vajadzētu būt OK. 346 00:20:15,630 --> 00:20:17,410 Ja tā nav, labi, mēs varam nodarboties, ka pārāk. 347 00:20:17,410 --> 00:20:18,720 Bet tas viss ir labi. 348 00:20:18,720 --> 00:20:20,560 Cool. 349 00:20:20,560 --> 00:20:25,570 >> Vai kāds vēlas dot man atbildētu uz otru, kā arī? 350 00:20:25,570 --> 00:20:26,860 >> 50? 351 00:20:26,860 --> 00:20:27,600 Labs. 352 00:20:27,600 --> 00:20:30,044 Ikviens sajaukt par to, kā mēs saņēmām, ka vai nu? 353 00:20:30,044 --> 00:20:31,960 Cool, es ņemšu Atbildes uz nākamo slaidu. 354 00:20:31,960 --> 00:20:34,440 Tāpēc neuztraucieties, ja jums ir nepieciešams, lai kopētu to uz leju. 355 00:20:34,440 --> 00:20:38,860 >> Labi, tāpēc heksadecimālo ir nedaudz sarežģītāks. 356 00:20:38,860 --> 00:20:41,840 bet es esmu gatavojas parādīs guys īsceļu, kā to izdarīt. 357 00:20:41,840 --> 00:20:44,800 Tātad heksadecimālo, kā jūs Atcerieties, ka visi ir jābūt 16. 358 00:20:44,800 --> 00:20:48,920 Un tāpēc, ka mēs kā cilvēki nav reāli ir 16 numuri, kas raksturo, 359 00:20:48,920 --> 00:20:56,940 mēs ejam no nulles līdz deviņiem, kas mūsu pirmā 10 vērtības, un tad mēs no A līdz F, 360 00:20:56,940 --> 00:20:58,630 kas ir nākamie seši vērtības. 361 00:20:58,630 --> 00:21:03,040 >> Un tā vieglākais veids, kā aiziet no jebkurš bināro numuru uz heksadecimālo 362 00:21:03,040 --> 00:21:05,350 ir lauzt tos uz pusēm. 363 00:21:05,350 --> 00:21:10,042 Un tāpēc jebkurš bināro numuru mēs sniegsim Jums, iespējams, būs no astoņiem cipariem. 364 00:21:10,042 --> 00:21:11,750 Jūs varat vienkārši pauze tos vidū. 365 00:21:11,750 --> 00:21:17,460 >> Tātad pirmais one-- viens viens, viens viens, viens, viens, viens viens. 366 00:21:17,460 --> 00:21:21,340 Veida domāju to uz augšu, jūs zināt, izdarīt slīpsvītra vai komats starp tiem. 367 00:21:21,340 --> 00:21:23,800 Un jūs varat pārvērst tieši kāds 368 00:21:23,800 --> 00:21:26,670 tas ir pirmais skaits heksadecimālo, 369 00:21:26,670 --> 00:21:29,880 un kāds šeit ir otrais no heksadecimālo. 370 00:21:29,880 --> 00:21:37,584 >> Līdz ar to atcerēties no kopējās apzīmējums, Ko heksadecimālo vērtības sākt? 371 00:21:37,584 --> 00:21:38,460 >> Mērķauditorija: Zero. 372 00:21:38,460 --> 00:21:39,270 >> PROFESSOR: 0x. 373 00:21:39,270 --> 00:21:45,210 Tātad mēs zinām, ka jebkurā laikā, lūdzam Jūs pārvērst jebkuru numuru heksadecimālo, 374 00:21:45,210 --> 00:21:48,230 vai jebkurā laikā jūs redzat kādu numurs, kas sākas ar 0x, 375 00:21:48,230 --> 00:21:50,230 jūs zināt, ka tas ir heksadecimālā vērtība. 376 00:21:50,230 --> 00:21:54,160 >> Un tad jūs gatavojas lūgt noteikt, kādi šie divi cipari ir. 377 00:21:54,160 --> 00:21:59,690 Un kā jūs to izdarītu, balsu skaitīšanas up ka puse un skaitīšana up, ka puse. 378 00:21:59,690 --> 00:22:02,870 Tātad, šajā piemērā, kas būtu viens, viens, viens, viens būt? 379 00:22:02,870 --> 00:22:04,890 Kādu vērtību tas var būt? 380 00:22:04,890 --> 00:22:06,040 Ka gribētu būt F, vai ne? 381 00:22:06,040 --> 00:22:08,050 Ka gribētu būt 15. 382 00:22:08,050 --> 00:22:11,780 >> Tātad tas būtu F. One, viens, viens, viens šeit ir arī 383 00:22:11,780 --> 00:22:21,270 F. Tātad viens, viens, viens, viens, viens, viens, viens, viens heksadecimālā, viss tas ir, ir 0xFF. 384 00:22:21,270 --> 00:22:25,350 Tā kā šī puse pārstāvēja F, vērtību 15, 385 00:22:25,350 --> 00:22:27,331 un šī puse pārstāvēja F vērtība 15. 386 00:22:27,331 --> 00:22:29,456 Jo atceros, mēs esam skaitot no nulles līdz deviņi. 387 00:22:29,456 --> 00:22:35,290 A ir, piemēram, 10, B ir, piemēram, 11, F ir 15. 388 00:22:35,290 --> 00:22:41,690 >> Vai, kas padara sajūtu ikvienam cik mēs saņēmām no bināro uz heksadecimālo? 389 00:22:41,690 --> 00:22:44,595 >> Mērķauditorija: Un tā kā mēs nokļūt 15 no vienas, vienu, viens, kas ir viens? 390 00:22:44,595 --> 00:22:46,220 PROFESSOR: Jā, tas ir bināro, vai ne? 391 00:22:46,220 --> 00:22:48,090 Iedomājieties, tas ir tikai bināro numuru. 392 00:22:48,090 --> 00:22:50,792 Tātad jums ir divi ar 0., kas ir viens. 393 00:22:50,792 --> 00:22:51,500 Mērķauditorija: Ak, OK. 394 00:22:51,500 --> 00:22:51,670 Tātad jūs vienkārši kopā to ārā. 395 00:22:51,670 --> 00:22:52,670 >> PROFESSOR: Jā, un pēc tam jūs vienkārši kopā ka out. 396 00:22:52,670 --> 00:22:53,380 Tas ir viss, tas ir. 397 00:22:53,380 --> 00:22:54,890 >> Mērķauditorija: OK. 398 00:22:54,890 --> 00:22:55,830 >> PROFESSOR: OK. 399 00:22:55,830 --> 00:23:00,740 >> Mērķauditorija: Tātad jūs iet no binārā uz decimālo uz heksadecimālo? 400 00:23:00,740 --> 00:23:04,590 >> PROFESSOR: Tas ir Vieglākais veids, kā to darīt, jā. 401 00:23:04,590 --> 00:23:11,390 Jūs neesat gatavojas decimālo jo decimal ir tikai nulles līdz deviņi. 402 00:23:11,390 --> 00:23:13,410 Mēs esam tikko veida sadalot šo augšu divās. 403 00:23:13,410 --> 00:23:15,201 >> Mērķauditorija: [dzirdams] izmantojot decimālo atrast 404 00:23:15,201 --> 00:23:17,809 ko tas atbilst līdz heksadecimālā. 405 00:23:17,809 --> 00:23:20,100 PROFESSOR: Es domāju, jūs esat balsu skaitīšanas up izmantojot pamata math. 406 00:23:20,100 --> 00:23:20,725 Mērķauditorija: Jā. 407 00:23:20,725 --> 00:23:22,300 PROFESSOR: Jā, diezgan daudz. 408 00:23:22,300 --> 00:23:23,630 Tas ir mazliet mulsinoša. 409 00:23:23,630 --> 00:23:26,410 Bet tikai zinu, ka jums var sadalīt neatkarīgi 410 00:23:26,410 --> 00:23:28,160 šī vērtība ir spēkā tikai daļās. 411 00:23:28,160 --> 00:23:29,570 Paskaties, kas tas ir bināro? 412 00:23:29,570 --> 00:23:30,610 Kāds numurs ir tas, ka? 413 00:23:30,610 --> 00:23:33,270 Tas būs kaut kas no nulles līdz F. 414 00:23:33,270 --> 00:23:35,722 >> Te ir arī būs kaut kas no nulles līdz F. 415 00:23:35,722 --> 00:23:37,722 Un tad jūs varat vienkārši ielieciet šie divi labi tur. 416 00:23:37,722 --> 00:23:38,263 >> Mērķauditorija: OK. 417 00:23:38,263 --> 00:23:38,910 PROFESSOR: Yep. 418 00:23:38,910 --> 00:23:39,410 LABI. 419 00:23:39,410 --> 00:23:42,320 Tātad jūs puiši vēlas izmēģiniet nākamo tad? 420 00:23:42,320 --> 00:23:49,601 Nulle, viens, nulle viens, viens, nulle, viens nulle. 421 00:23:49,601 --> 00:23:52,350 Es došu jums puiši, piemēram, 30 sekundes, jo jūs, iespējams, nezināja 422 00:23:52,350 --> 00:23:53,850 triks, kā to izdarīt ātrāk. 423 00:23:53,850 --> 00:24:24,950 424 00:24:24,950 --> 00:24:27,381 >> OK, kāds vēlas iegūt šo vienu shot? 425 00:24:27,381 --> 00:24:28,774 >> 0x5A. 426 00:24:28,774 --> 00:24:29,440 PROFESSOR: 0x5A. 427 00:24:29,440 --> 00:24:30,470 5a. 428 00:24:30,470 --> 00:24:31,340 Labs. 429 00:24:31,340 --> 00:24:37,050 Tātad, tas šeit būtu be-- vēlaties lai pastāstītu mums, kā jums tas? 430 00:24:37,050 --> 00:24:38,920 Pirmkārt, kā jūs iegūt piecu? 431 00:24:38,920 --> 00:24:42,030 >> Mērķauditorija: Jo nulli, viens, nulle, viens ir pieci. 432 00:24:42,030 --> 00:24:45,170 >> PROFESSOR: Vai visi saprotam kāpēc nulle, viens, nulle, viens ir pieci? 433 00:24:45,170 --> 00:24:46,260 Jūs esat ieguvuši vienu šeit. 434 00:24:46,260 --> 00:24:48,010 Jums nav nekā diviem ar pirmo. 435 00:24:48,010 --> 00:24:50,300 Divos uz otro, tevi ir viens, kas ir četri. 436 00:24:50,300 --> 00:24:52,600 Tātad jūs pievienot četras plus viens, jums ir pieci. 437 00:24:52,600 --> 00:24:53,600 Ikvienam labs? 438 00:24:53,600 --> 00:24:54,100 LABI. 439 00:24:54,100 --> 00:24:56,570 Un tad, kas tas ir un kāpēc? 440 00:24:56,570 --> 00:24:58,350 Ko numurs Vai atbilst? 441 00:24:58,350 --> 00:24:59,350 >> Mērķauditorija: 10. 442 00:24:59,350 --> 00:25:00,976 >> PROFESSOR: Un ko tas bāzi divās? 443 00:25:00,976 --> 00:25:01,850 Mērķauditorija: [dzirdams] 444 00:25:01,850 --> 00:25:03,010 PROFESSOR: Tieši tā. 445 00:25:03,010 --> 00:25:06,370 Tātad šis otrais vērtība šeit būtu 0x5A. 446 00:25:06,370 --> 00:25:08,410 >> Ikvienam labi par to, kā pārvērst? 447 00:25:08,410 --> 00:25:10,770 Tas ir daudz vienkāršāk, nekā jūs domājat, ka tas ir. 448 00:25:10,770 --> 00:25:13,330 Es tikai vēlos, lai pārliecinātos, jūs zināt noderīgus padomus 449 00:25:13,330 --> 00:25:14,950 un triku par to, kā to izdarīt. 450 00:25:14,950 --> 00:25:18,432 >> Mērķauditorija: Kāpēc jūs vienkārši sadalīt tas ir, piemēram, ka pa vidu? 451 00:25:18,432 --> 00:25:21,390 Vienkārši būt, piemēram, OK, es esmu tikai gatavojas rūp šie pirmais [dzirdams]? 452 00:25:21,390 --> 00:25:24,240 >> PROFESSOR: Jo tas ir faktiski veids heksadecimālo vērtības tiek pārstāvētas. 453 00:25:24,240 --> 00:25:26,890 0x, kas faktiski nozīmē, nekas cits kā stāsta jums 454 00:25:26,890 --> 00:25:28,710 ka tas ir heksadecimālo numuru. 455 00:25:28,710 --> 00:25:31,580 Un tas vienmēr ir pirmie četri cipari. 456 00:25:31,580 --> 00:25:34,330 Un tas vienmēr ir pēdējie četri cipari. 457 00:25:34,330 --> 00:25:37,835 Un tāpēc šie divi cipari tikko atbilst dažādiem bitiem. 458 00:25:37,835 --> 00:25:39,200 >> Mērķauditorija: Tātad mēs always-- 459 00:25:39,200 --> 00:25:41,830 >> PROFESSOR: Tu esi vienmēr gatavojas saņemt astoņus vērtību bitiem. 460 00:25:41,830 --> 00:25:44,580 >> Mērķauditorija: Vai tas ir tāpat kā lieta šeit vai ka lieta visā? 461 00:25:44,580 --> 00:25:46,883 PROFESSOR: Tas ir tikai lieta datoros, yep. 462 00:25:46,883 --> 00:25:47,424 Mērķauditorija: OK. 463 00:25:47,424 --> 00:25:48,240 Awesome. 464 00:25:48,240 --> 00:25:51,290 >> PROFESSOR: arī, lai šajā piemērā mēs pārvērš no binārā uz decimālo, 465 00:25:51,290 --> 00:25:53,290 un no bināro uz heksadecimālo. 466 00:25:53,290 --> 00:25:56,610 Jūs guys vēlaties, lai pārliecinātos, ka jūs arī prakse notiek otrādi. 467 00:25:56,610 --> 00:26:03,370 Tātad, ja es tev 0xFF, jūs varētu zīmēt, ka no binārā, vai ne? 468 00:26:03,370 --> 00:26:06,820 >> Jūs konvertēt F uz bināro, kas ir viens, viens, viens, viens, 469 00:26:06,820 --> 00:26:09,380 konvertēt F uz bināro, kas ir viens, viens, viens, viens. 470 00:26:09,380 --> 00:26:11,310 >> Tātad mēs varam lūgt jums darīt otrādi. 471 00:26:11,310 --> 00:26:14,817 Tātad decimālo uz bināro, vai heksadecimālo uz bināro. 472 00:26:14,817 --> 00:26:16,650 Tātad jūs vēlaties, lai pārliecināts, ka jūs zināt, abos virzienos. 473 00:26:16,650 --> 00:26:19,371 Mēs droši vien jautāt jums abu kombinācija. 474 00:26:19,371 --> 00:26:20,660 >> Jā, jums ir jautājums? 475 00:26:20,660 --> 00:26:22,724 Es varu see-- tu esi labs? 476 00:26:22,724 --> 00:26:23,348 Mērķauditorija: Jā. 477 00:26:23,348 --> 00:26:24,560 PROFESSOR: OK. 478 00:26:24,560 --> 00:26:26,101 Es esmu labs, lai izdzēstu šo? 479 00:26:26,101 --> 00:26:26,600 Liels. 480 00:26:26,600 --> 00:26:33,965 481 00:26:33,965 --> 00:26:40,437 >> Labi, tāpēc atbildes ir šeit, ja kāds ir ziņkārīgs vēlāk un saņemt sajaukt. 482 00:26:40,437 --> 00:26:41,844 LABI. 483 00:26:41,844 --> 00:26:46,070 >> Mērķauditorija: Vai tas svarīgi, ja mēs ieliekam Mūsu burti Capitol vai mazajiem? 484 00:26:46,070 --> 00:26:50,360 >> PROFESSOR: Tas, jo heksadecimālā, pēc vienošanās, 485 00:26:50,360 --> 00:26:52,840 visas rakstzīmes lielajiem burtiem. 486 00:26:52,840 --> 00:26:54,650 Tātad caur F ir būs lielos. 487 00:26:54,650 --> 00:26:58,660 Ja jūs likts mazo burtu A, es nezinu ja mēs neizbēgami atzīmētu to nepareizi. 488 00:26:58,660 --> 00:27:00,679 Bet teorētiski, tas nav tehniski 489 00:27:00,679 --> 00:27:01,970 kā jūs vajadzēja būt tā. 490 00:27:01,970 --> 00:27:03,303 Tāpēc viņi visi būtu lielie burti. 491 00:27:03,303 --> 00:27:05,910 Jā, labs jautājums. 492 00:27:05,910 --> 00:27:07,780 >> LABI. 493 00:27:07,780 --> 00:27:08,790 Otrais jautājums. 494 00:27:08,790 --> 00:27:12,750 Apsveriet šo skaisto programmu šeit. 495 00:27:12,750 --> 00:27:15,180 Es uzdot jautājumu, Es atgriezīšos šo. 496 00:27:15,180 --> 00:27:23,170 >> Tātad, pirmkārt, to, kas ir iekšā standarts io.h tas interesēt programmai? 497 00:27:23,170 --> 00:27:26,640 Otrkārt, tas, ko dara spēkā neesošu neizsaka rindā trīs? 498 00:27:26,640 --> 00:27:30,572 Un, treškārt, ko tas atgriežas nulle no Galvenais, kā līnija seši, parasti neizsaka? 499 00:27:30,572 --> 00:27:33,280 Ja jūs puiši vēlas rakstīt tiem uz leju, jo man ir, lai pārslēgtos atpakaļ 500 00:27:33,280 --> 00:27:36,810 ar slaidu tikai, lai jūs varētu redzēt kodu. 501 00:27:36,810 --> 00:27:40,400 Tas ir piemērs, kā, piemēram, varbūt augstāka līmeņa jautājums, kur mēs lūdzam 502 00:27:40,400 --> 00:27:42,435 ko lietas nozīmē programmā. 503 00:27:42,435 --> 00:27:47,290 504 00:27:47,290 --> 00:27:49,215 >> Ikvienam laba man doties atpakaļ uz slaidu? 505 00:27:49,215 --> 00:27:53,400 506 00:27:53,400 --> 00:27:54,361 OK, atdzesē. 507 00:27:54,361 --> 00:27:57,610 Tāpēc es došu jums puiši, piemēram, varbūt trīs minūtes, lai apskatīt šo vienu nekustamo ātri. 508 00:27:57,610 --> 00:28:41,330 509 00:28:41,330 --> 00:28:44,140 >> Labi, tāpēc šī ir kā diezgan viegli, konceptuāli. 510 00:28:44,140 --> 00:28:49,280 Vai kāds vēlas man pateikt, kas ir pirmais iekšā ar hash iekļaujot 511 00:28:49,280 --> 00:28:52,630 Mūsu standarta io.h bibliotēkas fails? 512 00:28:52,630 --> 00:28:55,510 Kāpēc mums ir nepieciešams, ka bibliotēku iekļauta šajā programmā? 513 00:28:55,510 --> 00:28:56,930 Ko šeit mēs to vajag? 514 00:28:56,930 --> 00:28:56,980 >> Yeah? 515 00:28:56,980 --> 00:28:58,340 >> Mērķauditorija: Vai tas ir tad, kad jūs nodot šo printf? 516 00:28:58,340 --> 00:28:59,131 >> PROFESSOR: Tieši tā. 517 00:28:59,131 --> 00:29:01,780 Tātad printf, jebkurā laikā jums veikt ieguldījumu no lietotāja 518 00:29:01,780 --> 00:29:04,140 un drukāt kaut uz ekrāna, kas ir 519 00:29:04,140 --> 00:29:05,600 standarta ievades, izvades bibliotēka. 520 00:29:05,600 --> 00:29:07,170 Domājiet par to, ka way-- ievadi, izvadi. 521 00:29:07,170 --> 00:29:08,430 >> Vai man ir izeja? 522 00:29:08,430 --> 00:29:09,207 Jā. 523 00:29:09,207 --> 00:29:12,040 Tāpēc es zinu, ka es esmu vienmēr gatavojas nepieciešams standartizēt i.o bibliotēku. 524 00:29:12,040 --> 00:29:16,400 >> Tātad printf ir funkcija ar kuru mums ir nepieciešams, lai piekļūtu 525 00:29:16,400 --> 00:29:19,370 un hashtag ietver standarts i.o bibliotēka. 526 00:29:19,370 --> 00:29:20,280 LABI. 527 00:29:20,280 --> 00:29:22,660 >> Otrkārt, tas, ko tas neatbilst patiesībai neizsaka? 528 00:29:22,660 --> 00:29:26,970 Mums ir int galvenais (spēkā neesošs), ko dara neesošu šeit domāju šeit uz līnijas trīs? 529 00:29:26,970 --> 00:29:28,080 Jā, uz muguras. 530 00:29:28,080 --> 00:29:29,020 >> Mērķauditorija: [dzirdams] 531 00:29:29,020 --> 00:29:29,920 >> PROFESSOR: Tieši tā. 532 00:29:29,920 --> 00:29:33,320 Līdz ar to atcerēties, mēs esam iemācījušies sākot ar mūsu PSET 533 00:29:33,320 --> 00:29:35,360 ka jūs faktiski var norādīt komandrindas 534 00:29:35,360 --> 00:29:39,010 argumenti, ka jūsu programma, kas jums galvenā funkcija, kas nepieciešams, jo jums, lietotājam, 535 00:29:39,010 --> 00:29:39,650 to sauc. 536 00:29:39,650 --> 00:29:42,650 Ja mums ir spēkā neesošs, tas nozīmē, ka jums varētu vienkārši palaist programmu tieši 537 00:29:42,650 --> 00:29:44,680 bez komandrindas argumentus. 538 00:29:44,680 --> 00:29:46,160 Ikvienam skaidrs, ka? 539 00:29:46,160 --> 00:29:46,660 LABI. 540 00:29:46,660 --> 00:29:52,850 >> Un visbeidzot, kāpēc mēs darām raizēties šī atdeve nulle lieta šeit? 541 00:29:52,850 --> 00:29:54,740 Kāpēc mums pat ir int galvenais? 542 00:29:54,740 --> 00:29:57,330 Kāpēc mēs nevaram vienkārši ir anulēts galvenais spēkā neesošu? 543 00:29:57,330 --> 00:29:59,216 Yeah? 544 00:29:59,216 --> 00:30:01,590 Mērķauditorija: Tieši tā, ka mēs varam pārliecinieties, ka programma ir 545 00:30:01,590 --> 00:30:04,247 iziešanas veiksmīgi, kā pretstatā, ja tas bija numurētas. 546 00:30:04,247 --> 00:30:06,580 Un mēs zinām, ka tas ir cita veida kļūdas. 547 00:30:06,580 --> 00:30:07,621 >> PROFESSOR: Jā, tieši tā. 548 00:30:07,621 --> 00:30:10,670 Tas ir tikai ļoti parasto lieta, ko mēs darām, 549 00:30:10,670 --> 00:30:13,840 ir tā, ka tikai beigās jūsu programma, tikai, lai pārliecinātos 550 00:30:13,840 --> 00:30:15,830 ka jūsu galvenā funkcija darbojas pareizi, 551 00:30:15,830 --> 00:30:17,940 mēs vienmēr vēlamies darīt atgriezties nulles. 552 00:30:17,940 --> 00:30:21,160 Pat ja mēs varam vienmēr neredzu, ka drukāts jebkur. 553 00:30:21,160 --> 00:30:25,092 >> Jo, kā programmētāji, jūs zināt, ja Jums ir daudz dažādu līnijas kodu 554 00:30:25,092 --> 00:30:27,050 un jūs nezināt, kur tie notiek nepareizi, 555 00:30:27,050 --> 00:30:30,240 un ja kļūda notiek, jūs vēlaties pārliecinieties, ka jūs saņemsiet, ka kļūda. 556 00:30:30,240 --> 00:30:33,240 Un tā parasti ir, ja kaut kas noiet nepareizi mums būs atgriešanos viens tikko 557 00:30:33,240 --> 00:30:34,669 lai pārliecinātos, ka mēs zinām, ka tā ir. 558 00:30:34,669 --> 00:30:36,460 Tātad, ja jūs redzat atgriešanās nulle, ka parasti 559 00:30:36,460 --> 00:30:38,293 nozīmē, ka jūsu programma ir veiksmīgi izpildīts. 560 00:30:38,293 --> 00:30:40,490 561 00:30:40,490 --> 00:30:40,990 Labs? 562 00:30:40,990 --> 00:30:45,180 563 00:30:45,180 --> 00:30:45,680 Cool. 564 00:30:45,680 --> 00:30:48,710 565 00:30:48,710 --> 00:30:52,680 >> OK, otrā programma šeit. 566 00:30:52,680 --> 00:30:54,827 Uzskata, ka. 567 00:30:54,827 --> 00:30:56,910 Un, ja jūs guys redzēt peldēt, jūs guys var droši 568 00:30:56,910 --> 00:31:00,810 ir laba ideja par to, Es esmu par to, lai jums jautāt. 569 00:31:00,810 --> 00:31:05,200 >> Tātad, ja šī programma izpilda, kā jūs varat redzēt, 570 00:31:05,200 --> 00:31:09,330 Es esmu pasludina peldēt iekšā manu galveno funkciju. 571 00:31:09,330 --> 00:31:13,470 Es esmu nosaucot to "atbildēt," un es esmu nosakot kas vienāds ar vienu dalīts ar 10. 572 00:31:13,470 --> 00:31:17,860 Es esmu izdrukāt, vienā zīmi aiz komata, ka peldēt. 573 00:31:17,860 --> 00:31:19,880 Un tad es esmu atpakaļ nulli. 574 00:31:19,880 --> 00:31:24,470 >> Tātad, kad izpildot programmu, domāju, ka atpakaļ uz mantkārīgs tagad, 575 00:31:24,470 --> 00:31:26,550 Šī programma drukā 0,0. 576 00:31:26,550 --> 00:31:29,993 Kā mēs visi zinām, cerams, mēs visi zināms, viens dalot ar 10. nav 0,00, 577 00:31:29,993 --> 00:31:32,350 tas ir 0.1. 578 00:31:32,350 --> 00:31:37,810 Bet paskaidrot, kāpēc šī programma domā ka 1 dalīts ar 10 izdrukām 0,1 citai 579 00:31:37,810 --> 00:31:39,504 nekā 0,1? 580 00:31:39,504 --> 00:31:42,545 Es došu jums puiši varbūt, piemēram, 30 sekundes, lai tikai ātri domāt par to, ka 581 00:31:42,545 --> 00:31:43,878 un es iešu atpakaļ uz programmu. 582 00:31:43,878 --> 00:32:17,800 583 00:32:17,800 --> 00:32:20,290 >> LABI. 584 00:32:20,290 --> 00:32:22,205 Ikviens vēlas, lai arī tā shot? 585 00:32:22,205 --> 00:32:24,330 Jo trīs teikumus vai mazāk, jo parasti mēs esam 586 00:32:24,330 --> 00:32:27,650 gatavojas ierobežot visas atbildes trīs teikumus vai mazāk 587 00:32:27,650 --> 00:32:31,130 tāpēc jums nav vienkārši atvemt izlases lietas uz jūsu viktorīnā. 588 00:32:31,130 --> 00:32:32,740 >> Jā, ņem shot. 589 00:32:32,740 --> 00:32:36,390 >> Mērķauditorija: Tāpēc es domāju, ka tur ir šis lieta, ko sauc, piemēram, [nedzirdama] 590 00:32:36,390 --> 00:32:42,320 Tātad tur varētu būt, piemēram, tur varētu būt, piemēram, 0,09, 591 00:32:42,320 --> 00:32:47,250 ka, ja jūs drukāt pirmais ciparu, tas būtu uz 0.0? 592 00:32:47,250 --> 00:32:49,100 >> PROFESSOR: Close, ne gluži. 593 00:32:49,100 --> 00:32:49,810 Christabell? 594 00:32:49,810 --> 00:32:51,770 >> Mērķauditorija: Jūs esat dalot vienu un 10, un viņi abi ir veseli skaitļi. 595 00:32:51,770 --> 00:32:54,610 Un tā, kā tas notiek uzglabāt tā ir kā vesels skaitlis. 596 00:32:54,610 --> 00:32:56,480 Un tā tuvākais skaitlis varētu būt 0,0. 597 00:32:56,480 --> 00:32:57,471 Un tā tas ir 0.1. 598 00:32:57,471 --> 00:32:58,970 PROFESSOR: Jā, tas ir patiešām labs. 599 00:32:58,970 --> 00:33:00,040 Tas ir pareizā atbilde. 600 00:33:00,040 --> 00:33:03,597 Tātad šī ir ļoti mulsinoši Koncepcija par daudz bērniem. 601 00:33:03,597 --> 00:33:06,680 Un es tiešām gribu, lai pārliecinātos, ka Tas pastiprina ikviena galvā. 602 00:33:06,680 --> 00:33:10,090 >> Tātad, ko mēs saucam peldošs punkts neprecizitāte, 603 00:33:10,090 --> 00:33:12,800 ja iemesls, kāpēc daudzi Sava programmu mantkārīgs 604 00:33:12,800 --> 00:33:17,010 nestrādāja sākotnēji bija tāpēc, ka Jūs aizmirsāt nodot savu mainīgo. 605 00:33:17,010 --> 00:33:19,370 Tātad, ko teica Christabell bija pilnīgi pareizs. 606 00:33:19,370 --> 00:33:21,990 >> Pluds būtības ir neprecīzs. 607 00:33:21,990 --> 00:33:26,400 Jo ar datoru, labi, mēs esam ierobežots daudzums bitu atmiņas 608 00:33:26,400 --> 00:33:28,480 mēs varam izmantot, lai pārstāvētu numuru. 609 00:33:28,480 --> 00:33:33,480 Tā, piemēram, šī CS50 ID is-- Es domāju, ka tas ir 64-bitu dators. 610 00:33:33,480 --> 00:33:37,520 >> Pluds var pārstāvēt tikai ar ierobežotu summu šiem bitiem. 611 00:33:37,520 --> 00:33:42,260 Un tā 0.1 ar bezgalīgu nullēm, Tas ir bijis 0.1 ir, vai ne? 612 00:33:42,260 --> 00:33:45,450 Bet mēs nevaram faktiski uzglabāt ka vairāki mūsu datorā. 613 00:33:45,450 --> 00:33:47,810 Mums vienkārši nav Nepietiek atmiņas to darīt. 614 00:33:47,810 --> 00:33:52,340 >> Un tā tuvākā tuvināšana to, kas glabājas atmiņā ir faktiski 615 00:33:52,340 --> 00:33:55,390 kaut kas līdzīgs 0,000 kaut ko, kaut kas, kaut kas, kaut kas. 616 00:33:55,390 --> 00:34:01,240 Kas, kad jūs saīsināt tas, kārtās līdz 0.0. 617 00:34:01,240 --> 00:34:05,640 >> Un tā šis piemērs ir tikai viens kas parāda daudz jautājumu 618 00:34:05,640 --> 00:34:08,469 mums, kad mēs esam mēģinot nepareizi darīt math 619 00:34:08,469 --> 00:34:11,000 bez liešana kā citā skaitlim. 620 00:34:11,000 --> 00:34:14,870 Tik vienkārši jāuzmanās no šī realitāte. 621 00:34:14,870 --> 00:34:18,239 >> Uz viktorīnas, ja mēs jums bloka kodu, un tas ir, piemēram, 622 00:34:18,239 --> 00:34:19,510 ko izdrukā beigās? 623 00:34:19,510 --> 00:34:24,096 Un, ja tas ir daži izlases vērtība jums guys vajadzētu zināt, kāpēc tas notiek. 624 00:34:24,096 --> 00:34:24,909 Yeah? 625 00:34:24,909 --> 00:34:27,926 >> Mērķauditorija: Saīsināt ir atbrīvoties no viss pēc noteikta brīža? 626 00:34:27,926 --> 00:34:28,513 [Dzirdams] 627 00:34:28,513 --> 00:34:30,929 PROFESSOR: Jā, tik tiešām tas ir tiešām slikts piemērs, 628 00:34:30,929 --> 00:34:37,870 jo 0,100 kāds faktiski varētu saīsināt līdz 0,1. 629 00:34:37,870 --> 00:34:41,389 Bet, ja tu būtu palaist it-- man nav atceros, jo pagājušajā gadā tie 630 00:34:41,389 --> 00:34:42,830 vadīja to uz citu programmu. 631 00:34:42,830 --> 00:34:45,300 Viņi skrēja to kaut ko sauc CS50 Appliance, kas 632 00:34:45,300 --> 00:34:46,389 ir atšķirīgs no ID. 633 00:34:46,389 --> 00:34:48,520 Tas bija 32-bitu sistēma, es domāju. 634 00:34:48,520 --> 00:34:50,290 Un tā tur bija dažādi skaitļi. 635 00:34:50,290 --> 00:34:53,330 >> Bet būtībā, tikai zinu, ka viss jēdziens saīsināšanu 636 00:34:53,330 --> 00:34:54,815 un cik tas tikai saīsina lietas off. 637 00:34:54,815 --> 00:34:55,690 Un tāpēc, ja to rounds-- 638 00:34:55,690 --> 00:34:56,300 >> Mērķauditorija: Bez noapaļošanu. 639 00:34:56,300 --> 00:34:57,370 >> PROFESSOR: Tieši tā. 640 00:34:57,370 --> 00:34:57,870 Jā. 641 00:34:57,870 --> 00:35:02,330 642 00:35:02,330 --> 00:35:04,380 Cool. 643 00:35:04,380 --> 00:35:05,250 >> Hi, uz muguras. 644 00:35:05,250 --> 00:35:07,634 Mēs esam tikai iet pār daži viktorīna pārskatīšanas jautājumiem. 645 00:35:07,634 --> 00:35:08,430 >> Viss kārtībā. 646 00:35:08,430 --> 00:35:10,150 Tāpēc uzskatu citu programmu šeit. 647 00:35:10,150 --> 00:35:12,797 648 00:35:12,797 --> 00:35:15,380 Es esmu gatavojas sniegt jums puiši pāris minūtes, lai izlasītu par šo. 649 00:35:15,380 --> 00:35:18,588 Tas ir kaut kas bija ļoti nesen, ka es domāju, ka pūta daudz no jums 650 00:35:18,588 --> 00:35:19,142 Puiši prātos. 651 00:35:19,142 --> 00:35:21,100 Bet mēs esam gatavojas runāt caur šo atkal tikai 652 00:35:21,100 --> 00:35:24,152 lai pārliecinātos, ka jums izprast to pilnībā. 653 00:35:24,152 --> 00:35:24,652 LABI. 654 00:35:24,652 --> 00:35:41,280 655 00:35:41,280 --> 00:35:41,780 LABI. 656 00:35:41,780 --> 00:35:44,342 Ikviens ir nepieciešams vairāk laika, lai izlasīt šo kodu? 657 00:35:44,342 --> 00:35:45,650 LABI. 658 00:35:45,650 --> 00:35:50,630 >> Tāpēc man šķiet, ka šajā programmā es esmu 659 00:35:50,630 --> 00:35:53,460 izveidojot divas virknes, izmantojot GetString. 660 00:35:53,460 --> 00:35:55,180 Viens sauc s un viens sauc t. 661 00:35:55,180 --> 00:35:58,680 Un, ja viņi ir vienāds vienāds ar otru, 662 00:35:58,680 --> 00:36:00,880 tai vajadzētu drukāt "You ierakstiet to pašu. " 663 00:36:00,880 --> 00:36:04,170 >> Bet elsewise, tas varētu drukāt, "You drukāti dažādas lietas, "vai ne? 664 00:36:04,170 --> 00:36:05,990 Šķiet ļoti, ļoti vienkārši. 665 00:36:05,990 --> 00:36:08,720 Bet, tomēr, ja es tiešām mēģināt rakstīt šo programmu, 666 00:36:08,720 --> 00:36:12,230 šķiet, ka pat tad, kad es ievades precīzu pašas stīgas, 667 00:36:12,230 --> 00:36:15,490 tas joprojām izdrukā, "You drukāti dažādas lietas! " 668 00:36:15,490 --> 00:36:18,020 Vai kāds vēlas veikt shot at kāpēc šī programma vienmēr 669 00:36:18,020 --> 00:36:20,370 atbild, ka izejvielas ir atšķirīgs, pat 670 00:36:20,370 --> 00:36:22,090 kad paši vārdi ir vienādi? 671 00:36:22,090 --> 00:36:24,870 672 00:36:24,870 --> 00:36:29,170 >> Tātad, ja es būtu input-- David mīlestību izmantot piemēru, piemēram, mamma, vai ne? 673 00:36:29,170 --> 00:36:37,890 Mazie M-O-M S, T vienāds mazo burtu M-O-M. 674 00:36:37,890 --> 00:36:40,340 Ja es ilga to caur ka kods, kāpēc tas tā 675 00:36:40,340 --> 00:36:44,180 izdrukāt "Ierakstītais dažādas lietas?" 676 00:36:44,180 --> 00:36:46,336 >> Vai kāds ir nepieciešams vairāk laiks padomāt par šo? 677 00:36:46,336 --> 00:36:47,294 Labi, es domāju, ka mēs esam labi. 678 00:36:47,294 --> 00:36:48,716 Yeah? 679 00:36:48,716 --> 00:36:53,930 >> Mērķauditorija: Labi, tāpēc tas ir kaut kas par kur tas ir saglabāts atmiņā, vai ne? 680 00:36:53,930 --> 00:36:54,890 >> PROFESSOR: Yep. 681 00:36:54,890 --> 00:37:00,400 >> Mērķauditorija: Kur tas ir, piemēram, ja tas string s uzglabā atmiņā spot-- 682 00:37:00,400 --> 00:37:01,689 Es esmu izgudrojot this-- ir nulle. 683 00:37:01,689 --> 00:37:02,355 PROFESSOR: Protams. 684 00:37:02,355 --> 00:37:05,290 Mērķauditorija: Un string t tiek uzglabāts atmiņas vietas, 685 00:37:05,290 --> 00:37:11,000 piemēram, 167, un pēc tam nulle nav vienāds 167. 686 00:37:11,000 --> 00:37:12,610 >> PROFESSOR: Tieši tā. 687 00:37:12,610 --> 00:37:18,350 Labi, tāpēc atcerieties, tas neticami atklāsme mums paskaidroja jums puiši 688 00:37:18,350 --> 00:37:21,530 pagājušā nedēļā, ka stīgas nav īsti nepastāv? 689 00:37:21,530 --> 00:37:25,380 Kad mēs izveidot kaut ko sauc stīgu mēs esam, patiesībā, 690 00:37:25,380 --> 00:37:29,330 radot kaut ko sauc char zvaigzne. 691 00:37:29,330 --> 00:37:34,470 Kas visiem tas ir ir rādītājs, lai string vai masīva chars. 692 00:37:34,470 --> 00:37:39,480 >> Un tā šajā piemērā, ja es bija ieejas M-O-M turpmākā 693 00:37:39,480 --> 00:37:49,350 ka mans dators varētu uzglabāt tā ir ietvaros atmiņas slīpsvītru nulles, vai ne? 694 00:37:49,350 --> 00:37:53,180 Šīs četras rakstzīmes, simboli, būtu jāglabā kaut kur. 695 00:37:53,180 --> 00:37:59,290 >> Un tad šie četri rakstzīmes, reversā slīpsvītra nulle, 696 00:37:59,290 --> 00:38:01,275 tiek glabāti kaut kur citur, vai ne? 697 00:38:01,275 --> 00:38:04,685 Man nav ne jausmas, kur adreses ir, viņi kaut kur manā datorā. 698 00:38:04,685 --> 00:38:07,080 Bet man nav īsti zināt, kur viņi ir. 699 00:38:07,080 --> 00:38:10,170 >> Kad es izveidot virkni s, viss, kas tiešām ir 700 00:38:10,170 --> 00:38:15,550 ir rādītāju uz sākt šīs virknes. 701 00:38:15,550 --> 00:38:21,130 Un, kad es izveidoju šo t vērtību viss, kas ir rādītājs, lai šeit. 702 00:38:21,130 --> 00:38:23,980 Un tad, kad jūs mēģināt vienādot un pārbaudīt 703 00:38:23,980 --> 00:38:27,710 lai redzētu, vai ir s Vienāds vienāds t, dators 704 00:38:27,710 --> 00:38:31,635 ir tiešām tikai atgriežas tu adrese šī m 705 00:38:31,635 --> 00:38:33,390 un adresi, ka M. 706 00:38:33,390 --> 00:38:36,230 Un tāpēc, ka viņi ir divi atsevišķas detaļas datu 707 00:38:36,230 --> 00:38:38,750 kas tiek glabāti divās dažādās adreses savā datorā, 708 00:38:38,750 --> 00:38:41,750 Datora nekad gatavojas atzīt tos kā pats. 709 00:38:41,750 --> 00:38:43,500 Vai kāds vēlas dot shot to, ko mēs 710 00:38:43,500 --> 00:38:46,900 būtu jādara, ja mēs vēlējāmies, lai labotu šo un pareizu braukšanas programmu 711 00:38:46,900 --> 00:38:49,360 vietā? 712 00:38:49,360 --> 00:38:52,070 Padomājiet par to, ka uz pāris sekundēm. 713 00:38:52,070 --> 00:38:54,929 Kas mums ir jāmaina, lai Get šo programmu darbību 714 00:38:54,929 --> 00:38:56,220 veids, kā mēs gribam, lai darbotos? 715 00:38:56,220 --> 00:39:17,260 716 00:39:17,260 --> 00:39:18,918 >> Jā, vēlas pieņemt stab pie tā? 717 00:39:18,918 --> 00:39:24,082 >> Mērķauditorija: Vai mēs cenšamies dereference rādītāju un pārbaudīt, izmantojot masīvu? 718 00:39:24,082 --> 00:39:25,540 PROFESSOR: Tas ir viens veids, kā to darīt. 719 00:39:25,540 --> 00:39:27,880 Tātad, kādi ir jūsu vārds atkal? 720 00:39:27,880 --> 00:39:29,010 Es atvainojos, atgādināt mani. 721 00:39:29,010 --> 00:39:29,589 >> Zee: Zee. 722 00:39:29,589 --> 00:39:32,130 PROFESSOR: Jā, lai to, ko Zee ierosināja būtu absolūti strādāt. 723 00:39:32,130 --> 00:39:32,629 Tiesības? 724 00:39:32,629 --> 00:39:35,730 Mēs varētu dereference rādītāja un faktiski iet un piekļuve 725 00:39:35,730 --> 00:39:38,460 fiziskie dati iekšpusē šeit. 726 00:39:38,460 --> 00:39:40,300 Un mēs varam tikai salīdzināt visu ekrānu. 727 00:39:40,300 --> 00:39:43,670 >> Mēs varam teikt, OK, rādītājs, dod man to, kas ir iekšā šeit. 728 00:39:43,670 --> 00:39:44,960 Tas atgriezt m. 729 00:39:44,960 --> 00:39:47,168 Un es teiktu, rādītājs, dod man to, kas ir iekšā šeit. 730 00:39:47,168 --> 00:39:47,750 Atgriezt m. 731 00:39:47,750 --> 00:39:48,410 Vai šie maču? 732 00:39:48,410 --> 00:39:49,410 Jā. 733 00:39:49,410 --> 00:39:50,340 Tad mēs virzāmies tālāk. 734 00:39:50,340 --> 00:39:54,240 >> Mēs pastāvīgi pārbaudot visu divas virknes visu ceļu līdz beigām 735 00:39:54,240 --> 00:39:56,635 un redzēt, ja tie ir vienādi, ja visas vērtības ir vienādas. 736 00:39:56,635 --> 00:39:59,680 Un, ja visas vērtības ir vienādas, tad mēs zinām, ka stīgas ir taisnība. 737 00:39:59,680 --> 00:40:01,600 Absolutely, tas, kā mēs varētu to darīt? 738 00:40:01,600 --> 00:40:03,930 >> Vai kāds sajaukt uz kādu no šo? 739 00:40:03,930 --> 00:40:06,970 Visa koncepcija cik stīgas ir tiešām tikai norādes, 740 00:40:06,970 --> 00:40:08,440 un kā tie nav tiešām pastāv? 741 00:40:08,440 --> 00:40:10,480 Un kāpēc mēs kļūdas tāpat, kā mēs to? 742 00:40:10,480 --> 00:40:15,070 Jo es garantēju jums, puiši, norādes un stīgu piešķiršana un atmiņas 743 00:40:15,070 --> 00:40:16,470 gatavojas nākt klajā. 744 00:40:16,470 --> 00:40:17,410 >> Yeah? 745 00:40:17,410 --> 00:40:21,072 >> Mērķauditorija: [dzirdams] dereference tas, jūs vienkārši ielieciet zvaigzni [nedzirdama] 746 00:40:21,072 --> 00:40:21,780 PROFESSOR: Labais. 747 00:40:21,780 --> 00:40:28,430 Tātad, lai derererence rādītāju līdzekļus doties uz konkrēto adresi rādītāja 748 00:40:28,430 --> 00:40:30,390 un iegūt datus, vērtību tur. 749 00:40:30,390 --> 00:40:32,700 Un veids, kā to darīt, ir zvaigzne rādītājs. 750 00:40:32,700 --> 00:40:34,262 Nejauciet to. 751 00:40:34,262 --> 00:40:35,186 >> Mērķauditorija: [nedzirdama]. 752 00:40:35,186 --> 00:40:35,852 >> PROFESSOR: Jā. 753 00:40:35,852 --> 00:40:39,750 Mērķauditorija: Tātad jūs varat vienkārši uzrakstīt ja zvaigzne s vienāds vienlīdzīgi zvaigzne t. 754 00:40:39,750 --> 00:40:40,630 >> PROFESSOR: Nu, nē. 755 00:40:40,630 --> 00:40:40,960 Nē. 756 00:40:40,960 --> 00:40:41,640 >> Mērķauditorija: Tas nav pietiekami labs, vai ne? 757 00:40:41,640 --> 00:40:43,760 >> PROFESSOR: Tas nav, tāpēc, ka tu esi tikai pārbaudot pirmo burtu. 758 00:40:43,760 --> 00:40:46,010 Jūs, iespējams, gatavojas vajag kādu no cilpas veida, ka 759 00:40:46,010 --> 00:40:49,055 uzsvērts, caur katru raksturs abos stīgas. 760 00:40:49,055 --> 00:40:49,837 Jā. 761 00:40:49,837 --> 00:40:52,920 Tātad, ja jūs vēlaties, lai vienkārši pārbaudīt, lai redzētu ja viņi sāka ar vienu un to pašu, 762 00:40:52,920 --> 00:40:58,220 jūs varat darīt, ja, zvaigzne s ir vienāds ar zvaigžņu t. 763 00:40:58,220 --> 00:41:01,300 Tad jūs zināt, ka vismaz tie sākās ar tāda paša rakstura. 764 00:41:01,300 --> 00:41:01,952 >> Yeah? 765 00:41:01,952 --> 00:41:04,056 >> Mērķauditorija: Tātad ceļš Jums tas būtu 766 00:41:04,056 --> 00:41:06,064 tāpat iegulto cilpas vai rādītāju? 767 00:41:06,064 --> 00:41:06,730 PROFESSOR: Jā. 768 00:41:06,730 --> 00:41:08,170 Diezgan daudz tikai par cilpu. 769 00:41:08,170 --> 00:41:12,430 Atcerieties, David klasē minēja bezmaksas sintaktisko cukura? 770 00:41:12,430 --> 00:41:17,690 Un viņš bija tas ļoti mulsinoša lieta zvaigžņu t 771 00:41:17,690 --> 00:41:22,030 plus viens, ja tas būtu integrēt cauri un tas pārvietojiet rādītāju? 772 00:41:22,030 --> 00:41:29,910 Vieglāk veids, kā to tas ir tikai t i. 773 00:41:29,910 --> 00:41:31,090 >> Tātad tas ir tikai masīvs. 774 00:41:31,090 --> 00:41:34,630 Tā, ka jums būs par cilpa, kas ilga no nulles līdz i, kur 775 00:41:34,630 --> 00:41:36,580 i ir garums no string, jūs varētu vienkārši 776 00:41:36,580 --> 00:41:39,510 rakstīt, ka tā vietā, lai dara Visa rādītājs, atsauce lieta. 777 00:41:39,510 --> 00:41:43,510 Tātad šīs lietas ir tieši ekvivalents datorā. 778 00:41:43,510 --> 00:41:45,905 >> Jūs puiši, iespējams, nebūs jāzina, ka, 779 00:41:45,905 --> 00:41:48,280 bet tas ir labi, lai tikai veida ir uz muguras savu prātu. 780 00:41:48,280 --> 00:41:52,630 Tikai zinu, ka dators atzīst dažādus blokus kodu 781 00:41:52,630 --> 00:41:53,890 kā vienu un to pašu. 782 00:41:53,890 --> 00:41:57,510 Tā kā šis ir tikai daudz lietotāju draudzīga mums piedāvāt to kā tas ir 783 00:41:57,510 --> 00:41:58,150 masīvs. 784 00:41:58,150 --> 00:42:00,990 Tas ir tikai vieglāk. 785 00:42:00,990 --> 00:42:02,719 >> Mērķauditorija: Tātad izmantot strlen patīk, get-- 786 00:42:02,719 --> 00:42:03,385 PROFESSOR: Jā. 787 00:42:03,385 --> 00:42:03,926 Mērķauditorija: OK. 788 00:42:03,926 --> 00:42:05,940 PROFESSOR: Jūs varētu izmantot strlen vai, ja jūs 789 00:42:05,940 --> 00:42:10,420 nebija strlen jūs varat vienkārši darīt up līdz jūs hit slīpsvītru nulles gan. 790 00:42:10,420 --> 00:42:11,568 Nu varētu strādāt. 791 00:42:11,568 --> 00:42:12,068 Jā. 792 00:42:12,068 --> 00:42:14,871 793 00:42:14,871 --> 00:42:17,996 Mērķauditorija: Tātad, tas ir, lai izlietota ik vienu rakstzīmi ja mēs patiešām 794 00:42:17,996 --> 00:42:21,044 rakstot šo kodu, mēs varētu vienkārši darīt t kronšteini i 795 00:42:21,044 --> 00:42:22,460 patīk ar zvaigzni priekšā? 796 00:42:22,460 --> 00:42:27,700 >> PROFESSOR: Jā, ir vienāds vienāds s kronšteins i, un pēc tam saglabāt pārvietojas i 797 00:42:27,700 --> 00:42:29,790 leju, līdz jūs hit beigām. 798 00:42:29,790 --> 00:42:31,286 Jā, tas ir tas, ko tu darītu. 799 00:42:31,286 --> 00:42:33,660 Un es tiešām ir nākamais piemērs, kad mēs faktiski 800 00:42:33,660 --> 00:42:36,740 rakstīt strlen lai jūs guys būs laipns no nokļūt spēlēt aptuveni ar to mazliet. 801 00:42:36,740 --> 00:42:43,567 >> Tāpat ir ar ikvienu skaidrs tikai atmiņā, stīgas, Pointers, kvalitātes adreses? 802 00:42:43,567 --> 00:42:46,650 Daži augstāka līmeņa jēdzieni, kas jums griba pārliecināts jāzina par viktorīnas 803 00:42:46,650 --> 00:42:48,928 rīt. 804 00:42:48,928 --> 00:42:49,904 >> Viss kārtībā. 805 00:42:49,904 --> 00:42:50,404 Labs. 806 00:42:50,404 --> 00:42:54,824 807 00:42:54,824 --> 00:42:55,324 Yep. 808 00:42:55,324 --> 00:42:58,770 809 00:42:58,770 --> 00:43:04,180 Labi, tā viena lieta, ka mēs arī uzdot tu, kā mēs katru gadu uz viktorīnu, ir, 810 00:43:04,180 --> 00:43:08,340 Pieņemsim, ka jūs esat aizmirsuši (kas mēs, šķiet, aizmirst to darīt katru gadu) 811 00:43:08,340 --> 00:43:10,810 kurā header fails strlen ir deklarēts. 812 00:43:10,810 --> 00:43:13,860 Un tāpēc mums ir pārrakstīt to sevi. 813 00:43:13,860 --> 00:43:16,350 >> Šeit ir saraksts ar pamatnostādnēm ka mēs varam piedāvāt Jums 814 00:43:16,350 --> 00:43:20,660 puiši, kur jums pieņemt, ka s stīgu nebūs spēkā. 815 00:43:20,660 --> 00:43:23,830 Jūs varat pieņemt, ka s būs izbeigts ar slīpsvītru nulles. 816 00:43:23,830 --> 00:43:26,670 Tātad, jūs zināt, ka tas, ko tas beigsies ar. 817 00:43:26,670 --> 00:43:29,500 >> Un, piemēram, ka garums sveiki būtu pieci. 818 00:43:29,500 --> 00:43:32,890 Tātad jūs varat pieņemt, ka sveiki būs pieci, H-E-L-L-O. 819 00:43:32,890 --> 00:43:35,890 Jums nav pieņemt, ka krēsla nulles kontus garumu. 820 00:43:35,890 --> 00:43:39,720 821 00:43:39,720 --> 00:43:42,300 >> Šī pēdējā lieta šeit, nav jāuztraucas par skaitlim pārpildes. 822 00:43:42,300 --> 00:43:45,270 Vai kāds atceras kāds skaitlis pārplūdes ir? 823 00:43:45,270 --> 00:43:48,041 >> Mērķauditorija: sniedzas ārpus garums [nedzirdama]. 824 00:43:48,041 --> 00:43:50,740 >> PROFESSOR: Jā, jūs varat izskaidrot mazliet, ko tas nozīmē? 825 00:43:50,740 --> 00:43:55,330 >> Mērķauditorija: Tātad, es domāju, tas iet atpakaļ uz truncating piemērs agrāk. 826 00:43:55,330 --> 00:43:58,380 Bet, ja jums ir tikai tik daudz numurus kas pārsniedz bitu skaitu 827 00:43:58,380 --> 00:44:01,409 ka jūs faktiski var piešķirt to ka tas būs tikai veida nogrieztas. 828 00:44:01,409 --> 00:44:04,242 PROFESSOR: Jā, tā tālāk tipisks dators, cik bitus mums ir? 829 00:44:04,242 --> 00:44:05,306 Mērķauditorija: 32? 830 00:44:05,306 --> 00:44:06,430 PROFESSOR: Jā, 32, pa labi. 831 00:44:06,430 --> 00:44:10,030 Un tā tas ir, ko, četri miljardus, divi miljardi? 832 00:44:10,030 --> 00:44:13,579 Četri miljardi, līdz četriem miljardiem pozitīvi veseli skaitļi, vai ne? 833 00:44:13,579 --> 00:44:15,370 Divi miljardi negatīvs, divi miljardi pozitīvs, 834 00:44:15,370 --> 00:44:16,900 atkarīgs no tā, kā jūs vēlaties to darīt. 835 00:44:16,900 --> 00:44:21,470 >> Un tā būtībā mēs varam būt pietiekami veseli skaitļi, kas var sasniegt pat 836 00:44:21,470 --> 00:44:25,800 diviem līdz 31 mīnus 1, vai ne? 837 00:44:25,800 --> 00:44:27,980 Tāpēc, ka tad, kad mēs hit divi līdz 32., mums nav 838 00:44:27,980 --> 00:44:30,040 ir, ka daudz atmiņas mūsu datorā. 839 00:44:30,040 --> 00:44:32,310 >> Un tā, teorētiski, es varētu nākt ar vairākiem 840 00:44:32,310 --> 00:44:34,560 kas ir, piemēram, divi līdz 46.. 841 00:44:34,560 --> 00:44:38,040 Tas ir milzīgs-ass numurs, bet teorētiski jūs varētu. 842 00:44:38,040 --> 00:44:42,730 Un tā skaitlim pārpildes ir, ja jūs mēģināt izveidot veselu skaitli, kas pārsniedz to, 843 00:44:42,730 --> 00:44:44,790 dators spēj uzglabāt. 844 00:44:44,790 --> 00:44:46,590 >> Un tāpēc jums puiši par šis paraugs nav 845 00:44:46,590 --> 00:44:51,330 jāuztraucas par mums sniedzot jums gigants virkne, kas ir divas līdz 32. chars 846 00:44:51,330 --> 00:44:51,830 garš. 847 00:44:51,830 --> 00:44:54,010 Tas būtu īsti nozīmē. 848 00:44:54,010 --> 00:44:59,430 >> Labi, tāpēc es esmu tikai gatavojas sniegt jūs guys bāzes struktūra to. 849 00:44:59,430 --> 00:45:02,020 Jūs esat gatavojas izveidot int strlen kur funkcija sauc 850 00:45:02,020 --> 00:45:08,436 caurlaides, char zvaigzne, vai stīgu, rādītāju uz virkni sauc s. 851 00:45:08,436 --> 00:45:10,820 >> Labi, visi kopēt, ka uz leju. 852 00:45:10,820 --> 00:45:13,550 853 00:45:13,550 --> 00:45:14,850 Cool. 854 00:45:14,850 --> 00:45:17,020 Oops-- cits veids. 855 00:45:17,020 --> 00:45:21,360 >> Tātad tas ir veida, piemēram, grūtāk gabals problēmas, 856 00:45:21,360 --> 00:45:25,320 tāpēc es došu jums puiši varbūt pieciem līdz sešas minūtes līdz veida Brainstorm 857 00:45:25,320 --> 00:45:27,478 un rakstīt šo funkciju veic. 858 00:45:27,478 --> 00:45:29,710 >> Mērķauditorija: Mums nav konts [nedzirdama] 859 00:45:29,710 --> 00:45:30,200 mums nav jāizmanto vesels skaitlis? 860 00:45:30,200 --> 00:45:31,241 >> PROFESSOR: Nē, jums nav. 861 00:45:31,241 --> 00:48:05,847 862 00:48:05,847 --> 00:48:06,930 Es došu jums puiši mājienu. 863 00:48:06,930 --> 00:48:12,325 Kāda laika cilpa var būt ļoti noderīgi šeit. 864 00:48:12,325 --> 00:48:12,825 Jā. 865 00:48:12,825 --> 00:48:44,995 866 00:48:44,995 --> 00:48:45,495 Lūk 867 00:48:45,495 --> 00:48:45,995 Candy. 868 00:48:45,995 --> 00:48:49,980 869 00:48:49,980 --> 00:48:53,410 Candy būs pieejams arī par viktorīnu, es domāju. 870 00:48:53,410 --> 00:48:55,315 Tātad, jūs puiši būs visi rīt cukurotu up. 871 00:48:55,315 --> 00:49:01,110 872 00:49:01,110 --> 00:49:02,962 Vai I-- jums to. 873 00:49:02,962 --> 00:49:03,718 >> Mērķauditorija: OK. 874 00:49:03,718 --> 00:49:04,384 PROFESSOR: Jā. 875 00:49:04,384 --> 00:49:10,550 876 00:49:10,550 --> 00:49:11,870 >> Varbūt 30 vēl sekundes vai tik. 877 00:49:11,870 --> 00:50:02,220 878 00:50:02,220 --> 00:50:07,340 >> Nu labi, ja tu esi nav izdarīts, neuztraucieties. 879 00:50:07,340 --> 00:50:08,810 Mēs pārvietotos pa šo kopā. 880 00:50:08,810 --> 00:50:09,310 LABI. 881 00:50:09,310 --> 00:50:13,800 Tāpēc es esmu gatavojas tikai izkārtojums pamatstruktūra šo funkciju šeit. 882 00:50:13,800 --> 00:50:17,255 Int strlen. 883 00:50:17,255 --> 00:50:20,040 884 00:50:20,040 --> 00:50:23,460 Pirmkārt, vai kāds vēlas pateikt man, ko tas nozīmē, int? 885 00:50:23,460 --> 00:50:25,160 Mums ir nepieciešams, lai ir šo funkciju. 886 00:50:25,160 --> 00:50:26,709 >> Mērķauditorija: strlen [nedzirdama]. 887 00:50:26,709 --> 00:50:27,500 PROFESSOR: Tieši tā. 888 00:50:27,500 --> 00:50:31,140 Tātad, neatkarīgi notiek šeit, mums ir nepieciešams, lai atgrieztos vesels skaitlis. 889 00:50:31,140 --> 00:50:36,367 Un kā norādīts SITS, spec, mēs vēlamies return-- 890 00:50:36,367 --> 00:50:37,700 Iet uz to puiši, tikai glabāt notiek. 891 00:50:37,700 --> 00:50:40,480 Tas viss ir labi. 892 00:50:40,480 --> 00:50:42,960 Ēd visu, lai man nav ņemt to atpakaļ, patiesībā. 893 00:50:42,960 --> 00:50:46,022 894 00:50:46,022 --> 00:50:48,855 Int tikai nozīmē, ka jūs esat būs atpakaļ vesels skaitlis. 895 00:50:48,855 --> 00:50:55,350 896 00:50:55,350 --> 00:50:57,106 >> Kas tas ir char zvaigzne s? 897 00:50:57,106 --> 00:50:58,640 Ko tas nozīmē? 898 00:50:58,640 --> 00:51:00,879 >> Mērķauditorija: Tāpat kā, to, kas ir ieguldījums. 899 00:51:00,879 --> 00:51:01,670 PROFESSOR: Tieši tā. 900 00:51:01,670 --> 00:51:04,142 Un kas ir gandrīz pats kā char zvaigzne? 901 00:51:04,142 --> 00:51:04,850 Mērķauditorija: String? 902 00:51:04,850 --> 00:51:05,641 PROFESSOR: Tieši tā. 903 00:51:05,641 --> 00:51:09,080 Tātad viss, ko mēs darām, ir dodot šis rādītājs uz virkni. 904 00:51:09,080 --> 00:51:09,580 LABI. 905 00:51:09,580 --> 00:51:12,860 906 00:51:12,860 --> 00:51:13,360 Cool. 907 00:51:13,360 --> 00:51:16,650 >> Tāpat neaizmirstiet, ja mēs aizmirstam lai dotu jums šos kronšteini, 908 00:51:16,650 --> 00:51:18,330 neaizmirstiet rakstīt tos pats. 909 00:51:18,330 --> 00:51:20,720 Jo teorētiski, jūsu kods ir nepareizs, ja esat aizmirsis rakstīt tos. 910 00:51:20,720 --> 00:51:21,803 Vienkārši vienmēr jāpievērš uzmanība. 911 00:51:21,803 --> 00:51:23,750 Tāpat, maz lietas ka jums nav paziņojums 912 00:51:23,750 --> 00:51:26,917 ja jūs programmēšana uz jūsu klēpjdators, jo jūsu klēpjdators tas jums? 913 00:51:26,917 --> 00:51:28,624 Neaizmirstiet, ja jūs esat rakstiski ar roku. 914 00:51:28,624 --> 00:51:29,170 Yeah? 915 00:51:29,170 --> 00:51:30,954 >> Mērķauditorija: Bet kā nepareizi? 916 00:51:30,954 --> 00:51:33,190 Tāpat, mēs varam iegūt visu problēmu nepareizi? 917 00:51:33,190 --> 00:51:34,190 >> PROFESSOR: Nē, nē. 918 00:51:34,190 --> 00:51:34,860 Neuztraucieties. 919 00:51:34,860 --> 00:51:39,270 Tas faktiski teorētiski iespējams lai jūs varētu saņemt pilnu punktus uz jautājumu 920 00:51:39,270 --> 00:51:41,980 pat ja jūsu kods nekad palaist reālajā dzīvē. 921 00:51:41,980 --> 00:51:46,052 Es iesaku jums nav mēģināt lai tas notiktu. 922 00:51:46,052 --> 00:51:48,260 Piemēram, piemēram, ja viss tas šeit ir taisnība, 923 00:51:48,260 --> 00:51:51,850 bet esat aizmirsis kolu vai kronšteinu, Jūsu kods netiks reāli darboties. 924 00:51:51,850 --> 00:51:53,740 Bet mēs varam būt žēlsirdīgs. 925 00:51:53,740 --> 00:51:54,394 >> Yeah? 926 00:51:54,394 --> 00:51:56,050 >> Mērķauditorija: Vai jums ir komentēt mūsu rokraksts? 927 00:51:56,050 --> 00:51:57,758 >> PROFESSOR: Nē, nē, nē rūpes par to. 928 00:51:57,758 --> 00:51:58,440 Nē komentējot. 929 00:51:58,440 --> 00:51:59,400 Stils būtu labi. 930 00:51:59,400 --> 00:52:01,470 Tāpat, nav smush viss uz vienas līnijas. 931 00:52:01,470 --> 00:52:04,580 Mēs nebūsim apmierināti ar jums, ja jūs darīt. 932 00:52:04,580 --> 00:52:07,250 >> Vai kāds vēlas iedodiet man pirmajā rindā? 933 00:52:07,250 --> 00:52:08,633 Mājiens, tas ir ļoti viegli. 934 00:52:08,633 --> 00:52:09,320 >> Yeah? 935 00:52:09,320 --> 00:52:11,920 >> Mērķauditorija: Int, n ir vienāds ar nulli. 936 00:52:11,920 --> 00:52:13,734 Just izveidot skaitītāju. 937 00:52:13,734 --> 00:52:15,900 PROFESSOR: Tātad mēs gribam kādu sava veida letes, vai ne? 938 00:52:15,900 --> 00:52:19,780 Es esmu tikai gatavojas nosaukt to "skaits" labad lasāmību. 939 00:52:19,780 --> 00:52:21,265 Ko mēs vēlamies, lai uzstādītu to vienāds ar? 940 00:52:21,265 --> 00:52:21,890 >> Mērķauditorija: Zero. 941 00:52:21,890 --> 00:52:23,840 PROFESSOR: Yep. 942 00:52:23,840 --> 00:52:24,340 Semikols. 943 00:52:24,340 --> 00:52:26,250 Tas ir arī ļoti dīvaini zīmēšanas semikoliem. 944 00:52:26,250 --> 00:52:28,870 Tikai prakse darām. 945 00:52:28,870 --> 00:52:31,990 >> Tāpēc mēs vēlamies, lai vispirms skaitītājs tipa int. 946 00:52:31,990 --> 00:52:35,360 Tāpēc, ka mēs vēlamies saskaitīt, cik daudzi rakstzīmes vai vēstules 947 00:52:35,360 --> 00:52:36,780 šajā virknē, vai ne? 948 00:52:36,780 --> 00:52:38,330 Ļoti viegli pirmais solis. 949 00:52:38,330 --> 00:52:42,140 >> OK, varbūt nedaudz sarežģītāka Tagad, kā mēs gatavojamies darīt? 950 00:52:42,140 --> 00:52:45,400 Vai kāds vēlas iedodiet man rindiņu kodu 951 00:52:45,400 --> 00:52:48,450 kas, iespējams, var palīdzēt cilpu caur kāds tas ir? 952 00:52:48,450 --> 00:52:54,540 953 00:52:54,540 --> 00:52:56,900 >> Jā, drosmīgs dvēsele uz muguras? 954 00:52:56,900 --> 00:53:06,832 >> Mērķauditorija: Labi, tāpēc, kamēr punkts zvaigznītes, tad jā, zvaigzne s, 955 00:53:06,832 --> 00:53:09,465 nav vienāds ar nulli, tad kaut ko darīt? 956 00:53:09,465 --> 00:53:11,090 PROFESSOR: Tas ir ļoti, ļoti tuvu. 957 00:53:11,090 --> 00:53:11,835 Patiešām tuvu. 958 00:53:11,835 --> 00:53:13,710 Tāpēc es esmu gatavojas, lai risinātu divas lietas, ar to. 959 00:53:13,710 --> 00:53:18,240 Pirmkārt, tas nav tieši nulle. 960 00:53:18,240 --> 00:53:20,110 Kas tas ir? 961 00:53:20,110 --> 00:53:22,550 Tas ir null terminators, kas ir reversā slīpsvītra nulle. 962 00:53:22,550 --> 00:53:24,960 Tātad viņi atšķiras noteikumi, kā viņi saglabāti. 963 00:53:24,960 --> 00:53:26,270 Tātad tu esi patiešām tuvu. 964 00:53:26,270 --> 00:53:30,330 >> Un, otrkārt, mēs negribam vienkārši pārvietotu rādītāju. 965 00:53:30,330 --> 00:53:32,320 Mēs vēlamies, lai faktiski piekļūt vērtības, vai ne? 966 00:53:32,320 --> 00:53:34,050 Un tā kā mēs to darām? 967 00:53:34,050 --> 00:53:34,550 Ļoti viegli. 968 00:53:34,550 --> 00:53:36,841 Nedomāju par norādes, nedomāju par atmiņām. 969 00:53:36,841 --> 00:53:38,525 Iet atpakaļ uz nedēļu divām šī kursa. 970 00:53:38,525 --> 00:53:39,555 >> Mērķauditorija: [nedzirdama]. 971 00:53:39,555 --> 00:53:40,680 PROFESSOR: No, atceries? 972 00:53:40,680 --> 00:53:41,400 Kas ir stīgas? 973 00:53:41,400 --> 00:53:42,650 Kā tie saglabāti atmiņā? 974 00:53:42,650 --> 00:53:43,300 >> Mērķauditorija: Viņi izvirzīja. 975 00:53:43,300 --> 00:53:43,810 >> PROFESSOR: Tie ir izvirzīti. 976 00:53:43,810 --> 00:53:45,550 Tātad, kā mēs piekļūt katrs simbols iekšā? 977 00:53:45,550 --> 00:53:46,466 >> Mērķauditorija: [nedzirdama]. 978 00:53:46,466 --> 00:53:47,530 PROFESSOR: Tieši tā. 979 00:53:47,530 --> 00:53:53,195 Tātad while-- Kas iet iekšā šeit? 980 00:53:53,195 --> 00:53:54,940 S - 981 00:53:54,940 --> 00:53:55,920 >> Mērķauditorija: I. 982 00:53:55,920 --> 00:53:58,216 >> PROFESSOR: Ak, es neeksistē, tas? 983 00:53:58,216 --> 00:53:59,620 >> Mērķauditorija: Ak, rēķināties? 984 00:53:59,620 --> 00:54:01,640 >> PROFESSOR: Mēs varam tikai izmantot skaits, mēs nevaram? 985 00:54:01,640 --> 00:54:03,050 >> Mērķauditorija: Atvainojiet, es sauc to es. 986 00:54:03,050 --> 00:54:04,341 >> PROFESSOR: Jā, tas viss ir labi. 987 00:54:04,341 --> 00:54:06,710 988 00:54:06,710 --> 00:54:10,760 Mums ir mainīgais šeit tas ir jau ir deklarēts, ka mūsu letes. 989 00:54:10,760 --> 00:54:13,650 Tātad, kāpēc nav mēs tikai izmantot, ka lai pārvietotos pa kamēr cilpa? 990 00:54:13,650 --> 00:54:15,230 Vai tas ir jēga? 991 00:54:15,230 --> 00:54:20,864 >> Tāpēc, kamēr s no count-- Vai kāds vēlas, man dot to, kas notiek pēc tam, kad šeit? 992 00:54:20,864 --> 00:54:22,030 Mērķauditorija: Tas nav vienāds. 993 00:54:22,030 --> 00:54:23,405 PROFESSOR: Vai nav vienādi, vai ne? 994 00:54:23,405 --> 00:54:26,200 Tas ir sprādziena vienāds, izsaukuma zīme ir vienāds, 995 00:54:26,200 --> 00:54:28,500 ko jūs puiši vēlas sauc to nav equal-- 996 00:54:28,500 --> 00:54:29,496 >> Mērķauditorija: [nedzirdama]. 997 00:54:29,496 --> 00:54:30,990 >> PROFESSOR: Jā. 998 00:54:30,990 --> 00:54:37,110 Atcerieties vienu piedāvājumu ir par char, pēdiņas ir par virkni. 999 00:54:37,110 --> 00:54:38,630 Esiet uzmanīgi, lietojot tos. 1000 00:54:38,630 --> 00:54:42,430 Tad, kad mēs meklējam cauri masīvs, pēdējais raksturs, 1001 00:54:42,430 --> 00:54:46,420 mēs zinām, mēs nevēlamies tā ir slīpsvītra nulle. 1002 00:54:46,420 --> 00:54:47,340 >> Tāpēc, kamēr. 1003 00:54:47,340 --> 00:54:48,840 Mēs nav beigās virkni. 1004 00:54:48,840 --> 00:54:52,335 Ko mēs vēlamies darīt iekšā? 1005 00:54:52,335 --> 00:54:55,269 >> Mērķauditorija: Mēs vēlamies pievienot skaitītājs tāpēc tas skaitās plus plus? 1006 00:54:55,269 --> 00:54:56,060 PROFESSOR: Tieši tā. 1007 00:54:56,060 --> 00:55:03,064 Tātad, šeit mēs esam gatavojas darīt rēķināties, rēķināties plus plus. 1008 00:55:03,064 --> 00:55:03,980 Trūkst vēl vienu līniju. 1009 00:55:03,980 --> 00:55:05,090 Mēs esam gandrīz tur. 1010 00:55:05,090 --> 00:55:07,398 Ko mēs aizmirstam to darīt? 1011 00:55:07,398 --> 00:55:08,770 >> Mērķauditorija: Atgriežoties nulli? 1012 00:55:08,770 --> 00:55:10,820 >> PROFESSOR: Jūs vēlaties, lai atgrieztos nulli? 1013 00:55:10,820 --> 00:55:12,962 >> Mērķauditorija: Nē, atgriežoties strlen. 1014 00:55:12,962 --> 00:55:13,511 Pagaidiet. 1015 00:55:13,511 --> 00:55:14,760 PROFESSOR: Kurš tiek glabāti? 1016 00:55:14,760 --> 00:55:15,090 Mērķauditorija: Count. 1017 00:55:15,090 --> 00:55:15,589 Count. 1018 00:55:15,589 --> 00:55:17,150 PROFESSOR: Tieši tā. 1019 00:55:17,150 --> 00:55:20,760 Tātad šeit mēs ejam, lai atgrieztos skaitu. 1020 00:55:20,760 --> 00:55:23,450 1021 00:55:23,450 --> 00:55:25,380 >> Jo tas, ko mēs esam darot šeit ultimately-- 1022 00:55:25,380 --> 00:55:29,780 mums ir counter mainīgais, kas ir gatavojas pieauguma caur mūsu virkni. 1023 00:55:29,780 --> 00:55:33,050 Mēs ejam, lai saglabātu turpinās, glabāt iet, apkārt un apkārt šajā cilpa. 1024 00:55:33,050 --> 00:55:37,700 Un, kamēr mēs neesam uz beigām šis virknes, kas ir nulle terminators. 1025 00:55:37,700 --> 00:55:40,410 >> Un katru reizi, kad mēs ejam cauri tā, mēs esam pievienojot mūsu letes. 1026 00:55:40,410 --> 00:55:42,640 Un mēs ejam tālāk gar šajā masīvā. 1027 00:55:42,640 --> 00:55:44,880 Un beigās, kad mēs hit null terminators, 1028 00:55:44,880 --> 00:55:48,469 mēs zinām, ak, mēs varam pauze, atgriezties skaitu. 1029 00:55:48,469 --> 00:55:49,260 Mums ir mūsu strlen. 1030 00:55:49,260 --> 00:55:52,280 1031 00:55:52,280 --> 00:55:56,400 >> Vai visi saņemt kā Tas tika īstenots? 1032 00:55:56,400 --> 00:55:58,830 Kamēr loops-- Es zinu, ka mēs neesam darīts pārāk daudz ar tiem, 1033 00:55:58,830 --> 00:56:01,240 bet viņi parasti ļoti, ļoti noderīgi, ja jums 1034 00:56:01,240 --> 00:56:05,390 nezinu, ko jūs apstāšanās nosacījums noteikti ir jābūt. 1035 00:56:05,390 --> 00:56:06,220 >> Jautājums? 1036 00:56:06,220 --> 00:56:10,080 >> Mērķauditorija: Vai mēs varam rakstīt null par kamēr stāvoklī? 1037 00:56:10,080 --> 00:56:10,940 >> PROFESSOR: Kaut? 1038 00:56:10,940 --> 00:56:15,304 Jā, tāpēc šī problēma man bija tevi puiši pieņemu, ka s nebūs spēkā. 1039 00:56:15,304 --> 00:56:17,220 Jo atceros, teorētiski, ja es tev 1040 00:56:17,220 --> 00:56:21,180 rādītājs, kas bija pārāk liels atmiņas, tas dotu jums null, vai ne? 1041 00:56:21,180 --> 00:56:23,770 Tas ir tas, ko darba sistēma varētu darīt. 1042 00:56:23,770 --> 00:56:26,960 >> Tātad, ja man nav pateikt jums uzņemties s būtu spēkā, jums ir nepieciešams, lai pārbaudītu. 1043 00:56:26,960 --> 00:56:32,050 Tātad šeit, jūs darītu, ja s vienāds vienāds null, atgriezties vienu. 1044 00:56:32,050 --> 00:56:33,028 Kaut kas tamlīdzīgs. 1045 00:56:33,028 --> 00:56:34,153 Mērķauditorija: [dzirdams] nulle. 1046 00:56:34,153 --> 00:56:37,287 1047 00:56:37,287 --> 00:56:39,370 PROFESSOR: Labi, es jums saku jūs, kāpēc mēs nevaram darīt. 1048 00:56:39,370 --> 00:56:43,357 Jo atceros atmiņā, labi, šeit. 1049 00:56:43,357 --> 00:56:43,940 Mēs iet šeit. 1050 00:56:43,940 --> 00:56:49,940 1051 00:56:49,940 --> 00:56:54,090 >> Jūs esat ieguvuši milzu bloki Atmiņas visi ar tīkliem 1052 00:56:54,090 --> 00:56:56,680 ka veikals dažādas vērtības, vai ne? 1053 00:56:56,680 --> 00:57:00,110 Un tā viss virkne is-- par Piemēram, ja mēs esam ar ieejas hello, 1054 00:57:00,110 --> 00:57:05,490 tas būtu H-E-L-L-O slīpsvītru nulle, vai ne? 1055 00:57:05,490 --> 00:57:09,570 Un tad, kas zina, piemēram, izlases lietas, kas ir šeit pēc tā. 1056 00:57:09,570 --> 00:57:11,220 >> Mums faktiski nav zināt, kas ir tur. 1057 00:57:11,220 --> 00:57:13,350 Un tā, ja tu būtu to darīt nevis slīpsvītru nulles, 1058 00:57:13,350 --> 00:57:15,590 null, tā nedrīkst būt nulle. 1059 00:57:15,590 --> 00:57:17,680 Jo tas vienkārši var nozīmēt dažas izlases citas lietas 1060 00:57:17,680 --> 00:57:19,270 kas nepieder jūsu virknes. 1061 00:57:19,270 --> 00:57:23,219 Un tā tā, ka mēs vienmēr zinām, ka virkne beidzas ir ar slīpsvītru nulles. 1062 00:57:23,219 --> 00:57:25,760 Un tā tas ir vienmēr, kā mēs pārbaudiet, lai redzētu beigas virkne. 1063 00:57:25,760 --> 00:57:30,820 >> Null, viss, kas nozīmē, ja jums ir neeksistē rādītājs, pirmkārt, 1064 00:57:30,820 --> 00:57:36,160 vai, ja jūsu atmiņa ir tieši tik liels, ka Jūs nevarat atdot, tad tas lūdzu būt nulle. 1065 00:57:36,160 --> 00:57:40,150 Tāpēc jābūt ļoti uzmanīgiem, diferencējot atšķirība starp null 1066 00:57:40,150 --> 00:57:42,130 un slīpsvītru nulle. 1067 00:57:42,130 --> 00:57:43,670 Jā. 1068 00:57:43,670 --> 00:57:46,886 >> Ikvienam OK ar šo? 1069 00:57:46,886 --> 00:57:48,150 LABI. 1070 00:57:48,150 --> 00:57:50,440 >> Tāpēc man bija jums guys izrakstīt strlen. 1071 00:57:50,440 --> 00:57:53,790 Reāli mēs varētu arī jautāt jums rakstīt ārā no A līdz I, jāatceras, ka "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 vai kāds jūs puiši vēlas to nosaukt? 1073 00:57:55,400 --> 00:57:58,010 Ka funkcija Vigenere un Caesar, ka 1074 00:57:58,010 --> 00:58:00,900 pārveido ASCII vērtību līdz veselam skaitlim? 1075 00:58:00,900 --> 00:58:04,360 Tas arī ir jānāk klajā ar pagātnes viktorīnas Funkciju mēs esam lūdza jums rakstīt. 1076 00:58:04,360 --> 00:58:08,280 >> Diezgan daudz jebkura funkcija ka jūs esat izmantojis, un ir 1077 00:58:08,280 --> 00:58:11,660 ļoti viegli rakstīt pats, sensori, piemēram, ir zemāks, 1078 00:58:11,660 --> 00:58:14,620 ir augšējā, lai samazinātu, lai augšējā. 1079 00:58:14,620 --> 00:58:17,964 Funkcijas, kas varētu pārvērst string no mazajiem burtiem uz lielajiem burtiem. 1080 00:58:17,964 --> 00:58:19,380 Mēs visi zinām, kā to darīt, vai ne? 1081 00:58:19,380 --> 00:58:21,100 Tas ir diezgan viegli. 1082 00:58:21,100 --> 00:58:24,770 Vienkārši vēlaties, lai pārliecinātos, ka jūs can-- tas pats domāšanas process. 1083 00:58:24,770 --> 00:58:26,940 Jums tikai atkārtot, izmantojot un jūs savukārt lietas. 1084 00:58:26,940 --> 00:58:30,190 Tu nu skaits, vai tad, kad jūs savukārt lietas savādāk. 1085 00:58:30,190 --> 00:58:32,280 >> Es vēlētos suggest-- I nezinu, vai mēs ejam 1086 00:58:32,280 --> 00:58:39,080 lūgt jūs iegaumēt kādu kapitālu A vai kapitāls Z, vai mazie burti A vai mazie 1087 00:58:39,080 --> 00:58:42,640 z ir ASCII, bet es ieteiktu varbūt rakstot, ka noteiktas lietas 1088 00:58:42,640 --> 00:58:44,124 mēs darām. 1089 00:58:44,124 --> 00:58:45,540 Vienkārši, lai jūs puiši ir atsauces. 1090 00:58:45,540 --> 00:58:47,180 Tāpat lielos A ir, ko, 197? 1091 00:58:47,180 --> 00:58:51,320 Un tad mazie ir kā 50 kaut ko. 1092 00:58:51,320 --> 00:58:52,492 65, jā, tur jums iet. 1093 00:58:52,492 --> 00:58:54,950 Tik vienkārši diezgan daudz zinu atšķirība starp tām ir 32. 1094 00:58:54,950 --> 00:58:57,670 Tas ir diezgan svarīgi. 1095 00:58:57,670 --> 00:58:58,170 Jā. 1096 00:58:58,170 --> 00:59:01,445 Es esmu labs par šo? 1097 00:59:01,445 --> 00:59:01,945 LABI. 1098 00:59:01,945 --> 00:59:03,109 >> Mērķauditorija: Mēs varētu teorētiski rakstīt daži 1099 00:59:03,109 --> 00:59:04,410 no tām uz leju, kā arī mūsu little-- 1100 00:59:04,410 --> 00:59:07,035 >> PROFESSOR: Tu teorētiski varētu vienkārši kopēt funkciju leju. 1101 00:59:07,035 --> 00:59:08,482 Tā ir taisnība. 1102 00:59:08,482 --> 00:59:11,080 >> Mērķauditorija: Nav [nedzirdama]. 1103 00:59:11,080 --> 00:59:12,720 >> Profesors: Jums puiši ir lapu. 1104 00:59:12,720 --> 00:59:14,194 Jums puiši ir dokumenta eksemplāriem. 1105 00:59:14,194 --> 00:59:14,860 Jūs varat ierakstīt to. 1106 00:59:14,860 --> 00:59:15,490 Jūs varat rakstīt to. 1107 00:59:15,490 --> 00:59:17,031 Jūs varat darīt, ko vien vēlaties ar to. 1108 00:59:17,031 --> 00:59:18,530 Jā. 1109 00:59:18,530 --> 00:59:21,406 Tātad teorētiski, ja jūs vēlaties, lai iet. 1110 00:59:21,406 --> 00:59:23,338 >> Mērķauditorija: [dzirdams] Bet mums nav īsti 1111 00:59:23,338 --> 00:59:25,994 obligāti nepieciešams atcerēties vērtība, mēs varam vienkārši 1112 00:59:25,994 --> 00:59:28,914 izmantot, lai augšējo vai apakšējā funkcija, vai ne? 1113 00:59:28,914 --> 00:59:29,580 PROFESSOR: Jā. 1114 00:59:29,580 --> 00:59:32,740 Bet, ja mēs deva jums jautājumu ka saka, rakstīt uz augšējo, 1115 00:59:32,740 --> 00:59:34,350 tad jums būtu nepieciešams, lai rakstīt to. 1116 00:59:34,350 --> 00:59:38,150 Tātad jūs guys var pieņemt, ka jums puiši ir piekļuve visām funkcijām, 1117 00:59:38,150 --> 00:59:41,523 bet, ja jūs vēlaties izmantot, lai augšējo vai zemāks, ko jūs arī jādara? 1118 00:59:41,523 --> 00:59:43,840 >> Mērķauditorija: [dzirdams] izmantot CS50 [nedzirdama] 1119 00:59:43,840 --> 00:59:44,840 >> PROFESSOR: Vai tas CS50.h? 1120 00:59:44,840 --> 00:59:47,320 1121 00:59:47,320 --> 00:59:48,310 Esiet uzmanīgi tur. 1122 00:59:48,310 --> 00:59:50,640 >> Tātad, lai augšējo, lai samazinātu, ir augšējā, ir zemāka, 1123 00:59:50,640 --> 00:59:52,990 funkcijas, kas ietver stīgu manipulācijas ir 1124 00:59:52,990 --> 00:59:55,490 visi ir vai nu ASCII vai ietvaros matemātikas bibliotēkā 1125 00:59:55,490 --> 00:59:57,350 vai ar virknes bibliotēkā. 1126 00:59:57,350 --> 01:00:00,290 Tātad, ja jūs guys izmantot tos funkcijas, jābūt uzmanīgiem atcerēties 1127 01:00:00,290 --> 01:00:01,451 iekļaut šo galveni. 1128 01:00:01,451 --> 01:00:03,950 Tāpēc varbūt arī kaut kas jums vēlas iekļaut savā lapā, 1129 01:00:03,950 --> 01:00:04,892 kādi ir header? 1130 01:00:04,892 --> 01:00:06,600 Kādi ir bibliotēkas esat lietojis? 1131 01:00:06,600 --> 01:00:08,550 Kādas funkcijas ir iekšā šajās bibliotēkās? 1132 01:00:08,550 --> 01:00:09,230 Tas ir svarīgi. 1133 01:00:09,230 --> 01:00:10,420 >> Yeah? 1134 01:00:10,420 --> 01:00:12,570 >> Mērķauditorija: mēs varētu vienkārši cop out un darīt hashtag 1135 01:00:12,570 --> 01:00:14,955 caur absolūti katrs burts mēs jebkad esam 1136 01:00:14,955 --> 01:00:17,340 redzams kā uz visiem jautājumiem? 1137 01:00:17,340 --> 01:00:18,320 >> PROFESSOR: Tu varētu. 1138 01:00:18,320 --> 01:00:20,361 Es nezinu, cik laimīgs mēs spēsim būt pakāpē 1139 01:00:20,361 --> 01:00:25,090 ka viktorīna kad katrs gabals koda ir divreiz tik ilgi, cik tas ir nepieciešams, lai būtu. 1140 01:00:25,090 --> 01:00:27,200 Es nezinu, mēs varētu pacelšanās punktu par stilu. 1141 01:00:27,200 --> 01:00:28,790 Bet teorētiski Jūsu kods varētu būt taisnība. 1142 01:00:28,790 --> 01:00:30,915 Jūs puiši varētu policists, un tikai ietver visu. 1143 01:00:30,915 --> 01:00:32,044 Tas ir jauki pārāk, jā. 1144 01:00:32,044 --> 01:00:32,960 Mērķauditorija: [nedzirdama]. 1145 01:00:32,960 --> 01:00:33,270 PROFESSOR: Jā. 1146 01:00:33,270 --> 01:00:34,900 Es ieteiktu ne dara, ka, lai gan. 1147 01:00:34,900 --> 01:00:35,505 Jā. 1148 01:00:35,505 --> 01:00:36,130 Mērķauditorija: Cool. 1149 01:00:36,130 --> 01:00:36,620 PROFESSOR: Labs jautājums. 1150 01:00:36,620 --> 01:00:37,480 Mērķauditorija: Tātad, sliktākajā gadījumā. 1151 01:00:37,480 --> 01:00:38,563 PROFESSOR: Sliktākajā gadījumā. 1152 01:00:38,563 --> 01:00:40,350 Ja jūs pilnīgi aizmirsis, jūs varētu darīt. 1153 01:00:40,350 --> 01:00:40,850 Jā. 1154 01:00:40,850 --> 01:00:43,870 1155 01:00:43,870 --> 01:00:45,400 >> Yep, kods ir tiesības tur. 1156 01:00:45,400 --> 01:00:49,176 Es mēdzu n nevis skaits, bet, jums zināt, kāds pludiņi savu laivu. 1157 01:00:49,176 --> 01:00:51,092 Mērķauditorija: Pagaidiet, tāpēc mēs nebūtu hashtag 1158 01:00:51,092 --> 01:00:53,460 ietvert jo mēs esam sākot no int? 1159 01:00:53,460 --> 01:00:56,150 1160 01:00:56,150 --> 01:00:59,924 >> PROFESSOR: Jā, es tikai pieņemt, ka mēs uzdeva uzrakstīt funkciju. 1161 01:00:59,924 --> 01:01:02,340 Ja jūs vēlētos, lai būtu droši, jums droši vien varētu likt to tur. 1162 01:01:02,340 --> 01:01:05,650 Bet es vienkārši nav apnikt, jā. 1163 01:01:05,650 --> 01:01:09,919 >> Es pat nezinu, ja jums nepieciešama nekāda bibliotēka šis. 1164 01:01:09,919 --> 01:01:12,710 Tāpēc, ka jūs neesat īsti drukāšanas ārā kaut vai kaut ko, vai ne? 1165 01:01:12,710 --> 01:01:16,500 1166 01:01:16,500 --> 01:01:19,568 Jā, es nezinu, ja jums nepieciešams bibliotēka. 1167 01:01:19,568 --> 01:01:22,400 >> LABI. 1168 01:01:22,400 --> 01:01:26,020 Tas ir arī nedaudz vairāk pa līnijas atmiņas manipulācijas. 1169 01:01:26,020 --> 01:01:27,400 Šāda veida mazliet viltīgs. 1170 01:01:27,400 --> 01:01:28,960 Padomā par to. 1171 01:01:28,960 --> 01:01:30,580 Jums ir funkciju sauc func. 1172 01:01:30,580 --> 01:01:33,570 Es varētu būt nosaukts tā neatkarīgi, bet es izvēlos to nosaukt func. 1173 01:01:33,570 --> 01:01:36,000 Man ir tas iepriekš mans galvenais. 1174 01:01:36,000 --> 01:01:39,790 Atcerieties, ka jūs vēlaties, lai būtu funkcija pēc jūsu galvenais, 1175 01:01:39,790 --> 01:01:42,370 Jūs vēlaties, lai pārliecinātos, ka jūs ietver prototipu augšas. 1176 01:01:42,370 --> 01:01:45,750 >> Bet šajā gadījumā tas bija tik īss ka es jutu, ka es varētu tikai 1177 01:01:45,750 --> 01:01:47,260 iekļaut to atop galvenais. 1178 01:01:47,260 --> 01:01:51,170 Man nav nepieciešams, lai būtu prototipu, jo tas jau rakstīts iepriekš. 1179 01:01:51,170 --> 01:01:55,430 Tāpēc viss, es esmu dara manā galvenā funkcija rada veselu X ir 10. 1180 01:01:55,430 --> 01:02:00,490 Es esmu aicinot savu lē funkciju, un pēc tam izdrukāt līdz kaut ko. 1181 01:02:00,490 --> 01:02:02,840 >> Un tad tas ir reāli ko func dara. 1182 01:02:02,840 --> 01:02:04,340 Jūs puiši vēlas domāt caur šo. 1183 01:02:04,340 --> 01:02:05,423 Jo tas ir mazliet viltīgs. 1184 01:02:05,423 --> 01:02:07,220 Tas ir ļoti, ļoti grūts, patiesībā. 1185 01:02:07,220 --> 01:02:09,549 Domāju, ka caur to, ko šis programma būtu izvada. 1186 01:02:09,549 --> 01:02:10,840 Es došu jums puiši divas minūtes. 1187 01:02:10,840 --> 01:03:36,660 1188 01:03:36,660 --> 01:03:37,891 >> Laba diskusijas? 1189 01:03:37,891 --> 01:03:38,853 >> Mērķauditorija: Jā. 1190 01:03:38,853 --> 01:03:39,815 >> PROFESSOR: Jā. 1191 01:03:39,815 --> 01:03:42,220 Labi, tāpēc tas ir grūts par iemeslu. 1192 01:03:42,220 --> 01:03:44,845 Un tas ir iemesls, kāpēc es gribēju, lai to ikviena uzmanību. 1193 01:03:44,845 --> 01:03:47,870 1194 01:03:47,870 --> 01:03:51,147 Vai kāds vēlas dot man ierosinājums, mēģinājums? 1195 01:03:51,147 --> 01:03:52,230 Ko tas varētu izdrukāt? 1196 01:03:52,230 --> 01:03:53,930 Pilnīgi naudas sodu, ja jūs esat nepareizi. 1197 01:03:53,930 --> 01:03:55,619 Yeah? 1198 01:03:55,619 --> 01:03:59,483 >> Mērķauditorija: Es domāju, ka tas ir 100 un tad 10 uz divām atsevišķām līnijām. 1199 01:03:59,483 --> 01:04:00,940 >> PROFESSOR: Un 10? 1200 01:04:00,940 --> 01:04:03,154 Vai kāds ir kādi citi minējumus? 1201 01:04:03,154 --> 01:04:04,150 Yeah? 1202 01:04:04,150 --> 01:04:09,040 >> Mērķauditorija: Varbūt tikai 10, jo func neatgriežas neko? 1203 01:04:09,040 --> 01:04:11,610 >> PROFESSOR: Labi, tāpēc mēs ir uzminēt numur viens 1204 01:04:11,610 --> 01:04:14,990 ir tas, ka minējums ir otrā tikai gatavojas izdrukāt 10. 1205 01:04:14,990 --> 01:04:17,623 Vai kāds ir kādi citi minējumus? 1206 01:04:17,623 --> 01:04:19,654 LABI. 1207 01:04:19,654 --> 01:04:21,070 Tātad pieņemsim staigāt pa šo, labi? 1208 01:04:21,070 --> 01:04:23,903 Ikreiz, kad jūs saņemsiet kādu kodu, ne tikai apskatīt to un būt, piemēram, 1209 01:04:23,903 --> 01:04:25,060 ah, ka ir tik daudz sīkumi! 1210 01:04:25,060 --> 01:04:26,460 Es esmu tik sajaukt! 1211 01:04:26,460 --> 01:04:28,220 Tāpat, nomierina sevi uz leju. 1212 01:04:28,220 --> 01:04:31,602 Tikai zinu, ka jūs varētu vienkārši meklēt, izmantojot kodu pozīcijai. 1213 01:04:31,602 --> 01:04:32,310 Tas ir viss, tas ir. 1214 01:04:32,310 --> 01:04:33,840 Tas ir tāpat kā lasot grāmatu. 1215 01:04:33,840 --> 01:04:38,000 >> Tātad ar jebkuru funkciju, mēs vienmēr sākas galvenais. 1216 01:04:38,000 --> 01:04:40,860 Tātad mēs ejam sākas int galvenais tukšumu, 1217 01:04:40,860 --> 01:04:43,010 pat programma ir jau palaist uz leju, pa labi? 1218 01:04:43,010 --> 01:04:45,070 Sākt galvenajā tukšumā. 1219 01:04:45,070 --> 01:04:48,030 Int x vienāds 10. 1220 01:04:48,030 --> 01:04:50,400 >> Tāpēc es esmu gatavojas, lai izdzēstu šo. 1221 01:04:50,400 --> 01:04:55,179 1222 01:04:55,179 --> 01:04:58,470 Es esmu gatavojas izdarīt atmiņu tikai, lai jūs puiši var veida redzēt, kas notiek. 1223 01:04:58,470 --> 01:05:02,190 >> Atcerieties, noteikti šeit mums ir kaudze? 1224 01:05:02,190 --> 01:05:05,810 Šeit mums ir mūsu sakraut kaut kur šeit. 1225 01:05:05,810 --> 01:05:07,470 Kaudze aug uz augšu, pa labi? 1226 01:05:07,470 --> 01:05:10,150 Un ietvaros kaudze, jums ir elektrotīkla darbotos kā arī 1227 01:05:10,150 --> 01:05:12,230 visi Mains vietējās mainīgie. 1228 01:05:12,230 --> 01:05:14,310 >> Tātad šeit, int x vienāds 10. 1229 01:05:14,310 --> 01:05:17,670 Mūsu galvenā funkcija mēs esam radot mainīgo sauc x. 1230 01:05:17,670 --> 01:05:20,590 Mēs esam nosakot, ka vienāda ar 10. 1231 01:05:20,590 --> 01:05:24,200 Šeit jūs esat ieguvuši dažas x, un jūs esat nosakot, ka vienāds ar 10, pa labi, 1232 01:05:24,200 --> 01:05:25,400 ietvaros galvenais. 1233 01:05:25,400 --> 01:05:27,430 Ikvienam labs? 1234 01:05:27,430 --> 01:05:28,070 >> Funkcija. 1235 01:05:28,070 --> 01:05:30,330 Tāpēc tagad, laikā mūsu galvenais funkcija, mēs aicinām 1236 01:05:30,330 --> 01:05:31,810 funkcija mēs esam rakstīts iepriekš. 1237 01:05:31,810 --> 01:05:34,550 Tāpēc mēs tagad ieiet otro funkciju. 1238 01:05:34,550 --> 01:05:40,120 Mēs ejam, lai izveidotu citu mainīgs int x ir vienāds 100. 1239 01:05:40,120 --> 01:05:42,410 Kas notiek šeit pie skursteņa? 1240 01:05:42,410 --> 01:05:46,980 Kas notiek, ja jūs zvanīt funkcija, kas rada jaunas mainīgos? 1241 01:05:46,980 --> 01:05:50,038 Kas notiek šeit pie skursteņa? 1242 01:05:50,038 --> 01:05:52,134 >> Mērķauditorija: [dzirdams] pāļi uz augšu? 1243 01:05:52,134 --> 01:05:52,800 PROFESSOR: Jā. 1244 01:05:52,800 --> 01:05:54,050 Tātad tas faktiski rada kopiju. 1245 01:05:54,050 --> 01:05:56,560 1246 01:05:56,560 --> 01:05:57,740 Un tā veida pāļi uz augšu. 1247 01:05:57,740 --> 01:06:00,700 Domājiet par stack-- kaudze Grāmatu, kaudze neko. 1248 01:06:00,700 --> 01:06:06,520 Pāļi virsū, vispirms jaunākie ārā, pēdējais iekšā, pirmais ārā. 1249 01:06:06,520 --> 01:06:08,471 >> Tātad, tas notiek, lai izveidotu x šeit. 1250 01:06:08,471 --> 01:06:12,080 1251 01:06:12,080 --> 01:06:14,450 >> Ka nāksies Visi funcs mainīgie. 1252 01:06:14,450 --> 01:06:14,950 Liels. 1253 01:06:14,950 --> 01:06:20,980 Tāpēc tagad mums ir divas dažādas x ir, ka pārstāv divas ļoti dažādas lietas. 1254 01:06:20,980 --> 01:06:24,470 Tad mēs ejam drukāt out veselais skaitlis x. 1255 01:06:24,470 --> 01:06:26,430 Tātad pieņemsim izdrukāt 100, vai ne? 1256 01:06:26,430 --> 01:06:29,389 Jo šeit tas ir 100. 1257 01:06:29,389 --> 01:06:31,680 Tātad tas ir pirmā lieta, ka tas notiek izdrukāt. 1258 01:06:31,680 --> 01:06:35,710 Tā kā šī funkcija atgriež neko, tagad šo funkciju, ka līnija galvenā 1259 01:06:35,710 --> 01:06:37,070 tiek darīts. 1260 01:06:37,070 --> 01:06:39,160 Ikvienam labi ar mani līdz šim? 1261 01:06:39,160 --> 01:06:43,034 >> Tāpēc mēs tagad esam cauri divi no Trīs līnijas mūsu galvenā funkcija. 1262 01:06:43,034 --> 01:06:44,450 Tagad mēs ejam uz trešo pozīciju. 1263 01:06:44,450 --> 01:06:46,350 Mēs ejam, lai printf. 1264 01:06:46,350 --> 01:06:48,222 Kas ir šis x laikā galvenais? 1265 01:06:48,222 --> 01:06:49,263 Ko tas pārstāv? 1266 01:06:49,263 --> 01:06:52,720 1267 01:06:52,720 --> 01:06:54,280 >> Kāda vērtība ir x tagad? 1268 01:06:54,280 --> 01:06:55,220 >> Mērķauditorija: 100. 1269 01:06:55,220 --> 01:06:56,799 >> PROFESSOR: tas ir 100? 1270 01:06:56,799 --> 01:06:57,590 Mērķauditorija: Still 10. 1271 01:06:57,590 --> 01:06:58,878 PROFESSOR: Vēl 10. 1272 01:06:58,878 --> 01:07:00,870 Jā. 1273 01:07:00,870 --> 01:07:06,810 Jo atceros, laikā Mūsu func, x ir vienāds ar 100. 1274 01:07:06,810 --> 01:07:09,690 Bet, ja mēs atgriežamies atpakaļ mūsu galvenā funkcija, 1275 01:07:09,690 --> 01:07:12,440 ka mainīgais tiek saglabāta citā vietā uz mūsu kaudze. 1276 01:07:12,440 --> 01:07:16,250 >> Tāpēc tagad mums ir nepieciešams, lai dotos atpakaļ uz Galvenais kaudze, ūdensvada vietējo mainīgie. 1277 01:07:16,250 --> 01:07:18,460 Un šeit x ir vienāds ar 10. 1278 01:07:18,460 --> 01:07:20,300 Un tāpēc mēs esam gatavojas izdrukāt 10. 1279 01:07:20,300 --> 01:07:22,530 >> Tāpēc viņa bija pilnīga taisnība. 1280 01:07:22,530 --> 01:07:25,053 Mēs ejam, lai būtu izlaide 100 un 10. 1281 01:07:25,053 --> 01:07:25,553 Yeah? 1282 01:07:25,553 --> 01:07:28,700 Mērķauditorija: Kad jūs malloc, vai tas ir kaudze vai steka, kas ir [dzirdams]? 1283 01:07:28,700 --> 01:07:31,950 PROFESSOR: Kad jūs malloc, jūs lietojat atmiņas no kaudzes 1284 01:07:31,950 --> 01:07:32,830 un tā piešķiršanu. 1285 01:07:32,830 --> 01:07:34,950 Tā, ka jums nav sajaukt ar kādu no šo. 1286 01:07:34,950 --> 01:07:38,100 Tāpēc es domāju, ka lielāks takeaway šeit ir kaut kas ko sauc par darbības joma. 1287 01:07:38,100 --> 01:07:39,650 >> Attiecībā uz tiem no jums, kas bija pārskatīšana sesijas pēdējā naktī, 1288 01:07:39,650 --> 01:07:41,080 mēs runājām īsi par to. 1289 01:07:41,080 --> 01:07:45,380 Darbības joma nosaka, kā un kad jūsu mainīgie eksistē. 1290 01:07:45,380 --> 01:07:48,050 Vai laikā, ko rāmji Vai jūsu mainīgie pastāv. 1291 01:07:48,050 --> 01:07:51,690 >> Diezgan daudz īkšķis parasti ir, jūsu variables-- ja jums izveidot tos 1292 01:07:51,690 --> 01:07:56,660 iekšpusē cirtaini braces-- viņi eksistē tikai iekšpusē tiem cirtaini lencēm. 1293 01:07:56,660 --> 01:08:00,312 >> Tā, piemēram, mūsu funkciju func, jūs redzat šos divus lencēm. 1294 01:08:00,312 --> 01:08:02,020 Ja veidojat kaut kas iekšpusē no tā, 1295 01:08:02,020 --> 01:08:06,500 iespējams, visi jūs darāt, ir radot kaudze un uzglabāšanu, kas tur. 1296 01:08:06,500 --> 01:08:07,430 Pats galvenais,. 1297 01:08:07,430 --> 01:08:09,950 Tas ir tikai uzglabā iekšpusē galvenais. 1298 01:08:09,950 --> 01:08:13,560 >> Arī jūs vēlaties būt ļoti, ļoti uzmanīgiem šeit. 1299 01:08:13,560 --> 01:08:18,310 Jo joma arī aizdod pati uz dažādiem piemēriem. 1300 01:08:18,310 --> 01:08:25,950 Tātad, piemēram, par cilpa, lai int i ir vienāds ar 0. 1301 01:08:25,950 --> 01:08:28,460 Man ir mazāk nekā, es nezinu, 10. 1302 01:08:28,460 --> 01:08:32,111 Es plus plus. 1303 01:08:32,111 --> 01:08:34,560 Un tev kods iekšpusē no tā, vai ne? 1304 01:08:34,560 --> 01:08:38,830 >> Kur šis mainīgais, i, faktiski pastāv tikai? 1305 01:08:38,830 --> 01:08:40,510 Tikai iekšpusē jūsu cilpas. 1306 01:08:40,510 --> 01:08:43,640 Tāpēc es bet daudzi no jums, puiši ir iespējams, radušās šo kļūdu, kad 1307 01:08:43,640 --> 01:08:45,930 jūs darāt programmas jūsu psets. 1308 01:08:45,930 --> 01:08:49,990 Cik daudzi no jums, puiši ir mēģinājuši lietot i ārpus cilpa un bija kļūda? 1309 01:08:49,990 --> 01:08:53,310 Tāpat kā unreferenced veseli skaitļi vai kaut kas tamlīdzīgs? 1310 01:08:53,310 --> 01:08:56,069 >> Iemesls, kāpēc tas notiek ir tāpēc, ka šeit jūs esat 1311 01:08:56,069 --> 01:08:59,109 radot kaut ko, kas tikai pastāv jūsu par cilpa. 1312 01:08:59,109 --> 01:09:01,972 Un, ja jūs mēģināt to izmantot, i nav faktiski pastāv ārpus tā. 1313 01:09:01,972 --> 01:09:04,930 Tātad būtībā dators sakot, es nezinu, ko jūs runājat par. 1314 01:09:04,930 --> 01:09:08,689 Viss, ko es zinu, ir tas, ka man bija šeit, bet tagad vairs nav. 1315 01:09:08,689 --> 01:09:12,580 >> Tātad, ja es būtu, lai izveidotu cilpas iekšpusē, vai ne? 1316 01:09:12,580 --> 01:09:19,080 Un es esmu gatavojas izveidot citu, piemēram, int j, un ir to darīt visu. 1317 01:09:19,080 --> 01:09:23,689 Un jums ir kods iekšpusē ka cilpa, j pastāv tikai šeit. 1318 01:09:23,689 --> 01:09:26,029 Bet pastāv arī laikā i. 1319 01:09:26,029 --> 01:09:29,310 Un tā j tikai eksistē laikā šis cilpa, 1320 01:09:29,310 --> 01:09:33,850 tā i pastāv visa lieta. 1321 01:09:33,850 --> 01:09:34,500 >> Ikvienam skaidrs? 1322 01:09:34,500 --> 01:09:37,416 Pats ar nosacītu paziņojumiem ja jūs vēlaties, lai radītu kaut ko. 1323 01:09:37,416 --> 01:09:40,390 Pats ar cilpām, vienlaikus, ja jūs vēlaties, lai radītu kaut ko. 1324 01:09:40,390 --> 01:09:42,390 Tas ir kaut kas, lai būtu ļoti, ļoti uzmanīgiem par. 1325 01:09:42,390 --> 01:09:45,681 Tātad tas bija tiešām laba problēma sajust, ka tā ir pierādījusi divas lietas. 1326 01:09:45,681 --> 01:09:47,160 Tā parādīja, pirmkārt, darbības jomu. 1327 01:09:47,160 --> 01:09:49,550 Un tas pierādīja arī atmiņas sadalījumu. 1328 01:09:49,550 --> 01:09:54,130 Tāpēc, ka jūs guys vajadzētu zināt, ka funkcijas augt uz augšu kaudze. 1329 01:09:54,130 --> 01:09:56,710 Un, ka tad, kad jūs zvanu funkcijas, jūs veidojat 1330 01:09:56,710 --> 01:09:59,060 būtībā ir jauna kaudze atmiņas. 1331 01:09:59,060 --> 01:10:02,100 Tas ir ļoti atšķirīgs no kādas ir jūsu maģistrāles atmiņa ir. 1332 01:10:02,100 --> 01:10:03,300 Jā. 1333 01:10:03,300 --> 01:10:03,800 Whew! 1334 01:10:03,800 --> 01:10:05,470 Ikvienam OK par šo? 1335 01:10:05,470 --> 01:10:06,750 Tas bija mulsinoši. 1336 01:10:06,750 --> 01:10:09,380 Ļoti labas tēmas iet pāri, jo jūs, iespējams, 1337 01:10:09,380 --> 01:10:12,255 gatavojas iegūt kādu viltīgs lietas, piemēram, ka uz viktorīnas. 1338 01:10:12,255 --> 01:10:13,350 Jā. 1339 01:10:13,350 --> 01:10:13,850 Cool. 1340 01:10:13,850 --> 01:10:16,014 1341 01:10:16,014 --> 01:10:18,430 Es nolikšu jums 100 uz vienu līnija un pēc tam 10, no otras puses. 1342 01:10:18,430 --> 01:10:21,468 Jā, ļoti labs. 1343 01:10:21,468 --> 01:10:26,350 >> Labi, tagad jūs puiši saņems iespēja būt Tehniskās vienošanās. 1344 01:10:26,350 --> 01:10:30,600 Jūs saņemsiet, lai atbildētu uz visiem jauki e-pasta vēstules, ka es dažreiz saņemt. 1345 01:10:30,600 --> 01:10:34,290 >> Tātad, Dārgais Andi, es redzu, es domāju, ka kaut kas ir notiek nepareizi ar manu kompilatoru. 1346 01:10:34,290 --> 01:10:37,910 Es esmu pārliecināts, ka mans kods ir pareizs, bet es turpinu kļūst segmentāciju vaina 1347 01:10:37,910 --> 01:10:39,074 Katru reizi, kad es palaist. 1348 01:10:39,074 --> 01:10:39,740 Kas notiek? 1349 01:10:39,740 --> 01:10:42,844 Lūdzu, palīdziet, daudz mīlestības. 1350 01:10:42,844 --> 01:10:45,740 1351 01:10:45,740 --> 01:10:49,410 >> Ja jūs puiši dabūja kaut ko līdzīgu ka, kā jūs atbildētu? 1352 01:10:49,410 --> 01:10:51,860 Tie ir tiešām ļoti bieži Jautājumi mēs lūgsim jums. 1353 01:10:51,860 --> 01:10:54,090 Vai tad, ja mēs sniegsim jums scenārijs, mēs sniegsim mums 1354 01:10:54,090 --> 01:10:56,350 Jūsu labākais minējums par to, kas notiek. 1355 01:10:56,350 --> 01:11:00,710 Kāds ir stab to, kas notiek? 1356 01:11:00,710 --> 01:11:02,654 Yeah? 1357 01:11:02,654 --> 01:11:06,056 >> Mērķauditorija: Varbūt dereferenced null, kaut kas līdzīgs rādītājs 1358 01:11:06,056 --> 01:11:08,924 ir vērsta uz kaut null. 1359 01:11:08,924 --> 01:11:11,590 PROFESSOR: Jā, ka gribētu būt piemērs, kad tas varētu notikt. 1360 01:11:11,590 --> 01:11:14,467 Bet kas ir lielāks attēls par to, kas notiek šeit? 1361 01:11:14,467 --> 01:11:17,050 Mērķauditorija: Vai tas jūs mēģināt piekļūt atmiņas, ka jūs neesat 1362 01:11:17,050 --> 01:11:18,175 vajadzēja piekļūt? 1363 01:11:18,175 --> 01:11:19,200 PROFESSOR: Tieši tā. 1364 01:11:19,200 --> 01:11:24,800 Tāpēc domāju, ka par SEG vainas, ir off ierobežojumi, ierobežota platība atmiņā 1365 01:11:24,800 --> 01:11:27,780 ka jums nevajadzētu būt aizkustinoši. 1366 01:11:27,780 --> 01:11:31,670 >> Tātad diezgan daudz, kad jūs cenšaties uz index-- kā, piemēram, 1367 01:11:31,670 --> 01:11:34,110 Jūs esat pasludināta masīvs no nulles līdz deviņi. 1368 01:11:34,110 --> 01:11:37,360 Bet jūs mēģināt pieskarties šo 10th vērtība, jums nav pieejami, kas. 1369 01:11:37,360 --> 01:11:38,694 Tā kā jūs esat nav deklarēta to. 1370 01:11:38,694 --> 01:11:40,943 Un lai jūsu dators iet paskatīties, kas ir, piemēram, 1371 01:11:40,943 --> 01:11:43,440 uh oh, jūs mēģināt iet ārpus tās robežas indeksu. 1372 01:11:43,440 --> 01:11:45,270 Es esmu gatavojas sniegt jums segmentācija vaina. 1373 01:11:45,270 --> 01:11:46,590 >> Domājiet par kā segmenta, vai ne? 1374 01:11:46,590 --> 01:11:49,665 Papildu segments, vaina ir kad jūs mēģināt pārkāpt kaut ko 1375 01:11:49,665 --> 01:11:50,790 un jums nevajadzētu būt tur. 1376 01:11:50,790 --> 01:11:53,660 Segmentācija vaina ir jebkurā laikā jūs mēģināt pieskarties lietām 1377 01:11:53,660 --> 01:11:54,970 ka jums nevajadzētu būt aizkustinoši. 1378 01:11:54,970 --> 01:11:56,815 >> Tātad kopējie piemēri ir indekss. 1379 01:11:56,815 --> 01:11:58,940 Protams, ja jūs cenšaties pieskarties tas bija null, 1380 01:11:58,940 --> 01:12:00,220 kas arī strādā kā labi. 1381 01:12:00,220 --> 01:12:02,300 Ja jūsu rādītājs centās pieskarties lietām, kas nedrīkst pieskarties, 1382 01:12:02,300 --> 01:12:03,730 kas varētu arī darboties kā labi. 1383 01:12:03,730 --> 01:12:07,120 Lielākā daļa parasti jūs redzēt šī masīvā. 1384 01:12:07,120 --> 01:12:07,740 Ikvienam labs? 1385 01:12:07,740 --> 01:12:10,374 >> Mērķauditorija: Tātad, ja jūs vēlaties piekļūt 10. punkts 1386 01:12:10,374 --> 01:12:12,290 un tur ir tikai ierobežojums Deviņu vai kaut ko. 1387 01:12:12,290 --> 01:12:13,160 >> PROFESSOR: Jā, tieši tā. 1388 01:12:13,160 --> 01:12:13,660 Diezgan ļoti. 1389 01:12:13,660 --> 01:12:15,930 1390 01:12:15,930 --> 01:12:16,430 Cool. 1391 01:12:16,430 --> 01:12:19,070 1392 01:12:19,070 --> 01:12:19,920 >> Dear Andi. 1393 01:12:19,920 --> 01:12:23,440 Tātad, mēs esam ieguvuši šie brīnišķīgi lietas sauc veidu. 1394 01:12:23,440 --> 01:12:25,472 Ja Apvienot sort-- kā mēs zāģis in piemēram, ja 1395 01:12:25,472 --> 01:12:27,180 Dāvids darīja visu lieta class-- kāpēc, 1396 01:12:27,180 --> 01:12:29,760 ja tas ir tik daudz ātrāk nekā kādu citu veidu, 1397 01:12:29,760 --> 01:12:33,310 kāpēc mēs pat apnikt zinot kādu citu veidu? 1398 01:12:33,310 --> 01:12:35,100 >> Kas ir šis jautājums patiešām lūdz jums? 1399 01:12:35,100 --> 01:12:36,659 Kas ir trīs word-- 1400 01:12:36,659 --> 01:12:37,950 Mērķauditorija: Kas ir kompromiss? 1401 01:12:37,950 --> 01:12:38,530 PROFESSOR: Tieši tā. 1402 01:12:38,530 --> 01:12:39,946 Tas ir tas, ko jautājums ir jautā. 1403 01:12:39,946 --> 01:12:43,682 Kas ir kompromiss starp Apvienot kārtot vārsmas jebkuru citu veidu? 1404 01:12:43,682 --> 01:12:45,850 >> Mērķauditorija: Stājas atmiņu, vai ne? 1405 01:12:45,850 --> 01:12:47,720 >> PROFESSOR: Tev skaidro, ka mazliet vairāk? 1406 01:12:47,720 --> 01:12:49,490 Vispirms pieņemsim izskaidrot sapludināšana veikalā. 1407 01:12:49,490 --> 01:12:50,970 Kā Apvienot veida darbojas? 1408 01:12:50,970 --> 01:12:55,220 >> Mērķauditorija: Tātad tas darbojas, dalot viss uz pusi 1409 01:12:55,220 --> 01:13:00,660 un pēc tam liekot to kopā un pārdalot to, lai, 1410 01:13:00,660 --> 01:13:02,862 tāpat katru reizi, kad jūs apvienot kopas. 1411 01:13:02,862 --> 01:13:03,820 PROFESSOR: Diezgan daudz. 1412 01:13:03,820 --> 01:13:06,861 Tātad es varu izdarīt šo out, bet tas ņemt man piecas minūtes, lai pievērstu to ārā. 1413 01:13:06,861 --> 01:13:10,220 Atskatīties uz sekcijas slaidiem ja mēs uz sapludināšana veida. 1414 01:13:10,220 --> 01:13:10,790 Tieši tā. 1415 01:13:10,790 --> 01:13:13,406 >> Tātad, kā sapludināšana Kārtot darbus tas sadala lietas pusi, 1416 01:13:13,406 --> 01:13:15,780 un tad tas tikai izskatās pēc Pirmie vērtības tiem visiem 1417 01:13:15,780 --> 01:13:17,000 un sakārto tikai tas. 1418 01:13:17,000 --> 01:13:20,364 Nepārtraukti rada jaunas bloki un liek lietas vairāk un vairāk, lai. 1419 01:13:20,364 --> 01:13:23,030 Un tā, kamēr tas ir ļoti, ļoti ātri, jo it's-- jūs zināt, 1420 01:13:23,030 --> 01:13:25,380 bināro meklēšana ir n log n. 1421 01:13:25,380 --> 01:13:27,880 Jūs veidojat tik daudz dažādi bloki, ka tu esi 1422 01:13:27,880 --> 01:13:29,700 izmantojot milzīgu atmiņas. 1423 01:13:29,700 --> 01:13:33,080 Un tā, kamēr tas ir ātrāk, tirdzniecības off šeit ir tas, ka jūs izmantojat vairāk atmiņas. 1424 01:13:33,080 --> 01:13:38,490 >> Un tā, mājiens, veidu un meklējumi sedza daudz vairāk šogad 1425 01:13:38,490 --> 01:13:41,610 nekā tie ir bijuši gados iepriekšējos. 1426 01:13:41,610 --> 01:13:45,100 Jūs guys vajadzētu redzēt, ka atspoguļots attiecīgi uz viktorīnas. 1427 01:13:45,100 --> 01:13:49,160 Es noteikti pavadīt laiku dodas vairāk nekā tas, ko visi no dažādu veidu 1428 01:13:49,160 --> 01:13:52,320 ir, kā bināro meklēšanu, kā lineāra meklēt darbu. 1429 01:13:52,320 --> 01:13:54,750 Kā varbūt pseudocode kodēt tos out. 1430 01:13:54,750 --> 01:13:55,950 Kādi ir darbojas laiki? 1431 01:13:55,950 --> 01:13:59,210 Kaut kā darbojas laikos ir ļoti viegli kopēt leju uz piezīmju lapas, 1432 01:13:59,210 --> 01:13:59,710 labi? 1433 01:13:59,710 --> 01:14:01,420 >> Tas ir tiešām grūti, kad tu esi vidū testa 1434 01:14:01,420 --> 01:14:02,390 un jums ir skaitlis, kas out. 1435 01:14:02,390 --> 01:14:03,160 Kopēt to uz leju. 1436 01:14:03,160 --> 01:14:05,550 I garantija jums esat dodas uz nepieciešamību zināt, ka. 1437 01:14:05,550 --> 01:14:06,860 Kādas ir kompromisi? 1438 01:14:06,860 --> 01:14:10,064 Sliktākajā gadījumā, labākajā gadījumā scenāriji visiem tiem, kas ir ļoti iepazīt. 1439 01:14:10,064 --> 01:14:10,564 Yeah? 1440 01:14:10,564 --> 01:14:12,730 >> Mērķauditorija: Vai mums ir nepieciešams, lai zināt, kā kodu sapludināšana veida? 1441 01:14:12,730 --> 01:14:15,470 Tāpat, mums vajag, lai atcerēties rekursīvas? 1442 01:14:15,470 --> 01:14:18,950 >> PROFESSOR: Es ļoti šaubos, vienkārši jo tas ir tāpat kā diezgan sarežģīta. 1443 01:14:18,950 --> 01:14:22,282 Bet tas var nebūt nav iespējama, ja mēs lūdzu jūs izmantot pseudocode to ārā. 1444 01:14:22,282 --> 01:14:22,781 Jā. 1445 01:14:22,781 --> 01:14:25,470 1446 01:14:25,470 --> 01:14:29,170 >> Yep, OK, vēl viens. 1447 01:14:29,170 --> 01:14:31,387 Tas var būt nākušas klajā ar Jūs pēdējo gabals mazliet. 1448 01:14:31,387 --> 01:14:42,101 1449 01:14:42,101 --> 01:14:43,090 Yeah? 1450 01:14:43,090 --> 01:14:44,930 Vai visi dzird, ka? 1451 01:14:44,930 --> 01:14:48,360 >> Labi, tāpēc diezgan daudz vispirms galā, kāda veida programma 1452 01:14:48,360 --> 01:14:51,000 Būtu sniedzot jums izejas līdzīgs šim? 1453 01:14:51,000 --> 01:14:54,350 Atcerieties, mēs lūdzām jums, lai uzzinātu par Šī jaunā atkļūdošanas rīku veids? 1454 01:14:54,350 --> 01:14:57,340 Kāds bija vārds no tā? 1455 01:14:57,340 --> 01:14:59,460 Valgrind, labais 1456 01:14:59,460 --> 01:15:02,600 >> Tā bija programma, kurā jūs varētu zvanīt, kas varētu 1457 01:15:02,600 --> 01:15:05,940 sekot līdzi visiem atmiņā tu esi izmantojot jūsu programmā un notiek. 1458 01:15:05,940 --> 01:15:11,090 Tātad, ja jums kaut ko, piemēram, noteikti zaudēja, 40 baiti vienā blokā. 1459 01:15:11,090 --> 01:15:14,870 Droši vien jūs neesat atceroties, lai atbrīvotu to. 1460 01:15:14,870 --> 01:15:18,710 Jo, ja jūs izmantojat atmiņas baiti, tas nozīmē, ka jūs esat piekļūt šo atmiņu, 1461 01:15:18,710 --> 01:15:20,240 bet jums nav izdevies atbrīvot. 1462 01:15:20,240 --> 01:15:21,948 Tātad jūs vēlaties, lai pārliecināts, ka jūs esat arī 1463 01:15:21,948 --> 01:15:31,420 izmantojot free-- tas ir function-- lai atbrīvotu visu 1464 01:15:31,420 --> 01:15:34,930 no atmiņas pārdalīt malloc. 1465 01:15:34,930 --> 01:15:35,500 >> Cool. 1466 01:15:35,500 --> 01:15:37,140 Tātad šo slaidu, es ņemšu to uz augšu. 1467 01:15:37,140 --> 01:15:41,050 Tas ir visur daudz lekcijas, jo daudz sekciju slaidiem. 1468 01:15:41,050 --> 01:15:44,254 Jūs tiešām vēlaties pārliecināties jūs vienkārši zināt visu. 1469 01:15:44,254 --> 01:15:47,170 Nu savā piezīmju lapas, vai, ja jums vēlas iegaumēt to, justies brīvi. 1470 01:15:47,170 --> 01:15:48,836 Tas ir ļoti, ļoti, ļoti svarīgi. 1471 01:15:48,836 --> 01:15:53,200 1472 01:15:53,200 --> 01:15:56,890 >> Arī ļoti labs Jautājums, ko mēs varētu jautāt. 1473 01:15:56,890 --> 01:16:00,320 Kāpēc atlase sort-- apskatīt Atlase sort-- visi runtimes 1474 01:16:00,320 --> 01:16:02,060 ir n brusas. 1475 01:16:02,060 --> 01:16:06,714 Neatkarīgi no tā, cik saraksts nāk Jūs kā, tad kāpēc ir izvēle sort-- 1476 01:16:06,714 --> 01:16:08,630 Es došu jums puiši 30 otrais domāt par to. 1477 01:16:08,630 --> 01:16:10,700 Jo tas ir sava veida mulsinoši. 1478 01:16:10,700 --> 01:16:12,710 Tā ietver zināmu konceptuālu domas. 1479 01:16:12,710 --> 01:16:16,470 Kāpēc būtu palaist laiki būs vienādi gan sliktākajā un labākajā gadījumā scenāriji? 1480 01:16:16,470 --> 01:16:28,850 1481 01:16:28,850 --> 01:16:30,000 >> Yeah? 1482 01:16:30,000 --> 01:16:38,084 >> Mērķauditorija: Tā Selection veida katrs amats vai telpu šajā maz masīvā 1483 01:16:38,084 --> 01:16:40,350 lieta vai neatkarīgi. 1484 01:16:40,350 --> 01:16:44,430 Tātad, pat labākajā gadījumā, pat tad, ja tas ir perfekti sakārtots, 1485 01:16:44,430 --> 01:16:47,380 tas joprojām ir jābūt, piemēram, OK, vienu. 1486 01:16:47,380 --> 01:16:49,000 Manā pirmajā vietā man ir viens. 1487 01:16:49,000 --> 01:16:50,250 Un iet cauri visiem no tiem. 1488 01:16:50,250 --> 01:16:51,249 OK, viens ir mazākais. 1489 01:16:51,249 --> 01:16:53,053 Un tad tas notiek atkal un ir kā, OK, divi 1490 01:16:53,053 --> 01:16:54,594 ir mazākā no visām lietām. 1491 01:16:54,594 --> 01:16:56,804 Bet tas vēl ir pārbaudīt katru vienu. 1492 01:16:56,804 --> 01:16:57,470 PROFESSOR: Jā. 1493 01:16:57,470 --> 01:17:00,490 Tā, piemēram, pieņemsim tikai teikt Mums ir saraksts, kas jau sakārtots, 1494 01:17:00,490 --> 01:17:03,390 masīvs viens līdz pieci. 1495 01:17:03,390 --> 01:17:07,100 Veidā, ka Atlases veidu ir tas, ka tas iet cauri, tā pārbauda šīs divas. 1496 01:17:07,100 --> 01:17:08,234 Tad tā pārbauda šīs divas. 1497 01:17:08,234 --> 01:17:09,650 Un tad tā pārbauda, ​​un tā pārbauda. 1498 01:17:09,650 --> 01:17:13,285 Tas tur pārbaudīt visas no tām, neatkarīgi no tā, vai 1499 01:17:13,285 --> 01:17:14,160 tas tiešām sakārtoti. 1500 01:17:14,160 --> 01:17:16,450 Jo tas ir vienkārši veids kārtošanas darbi. 1501 01:17:16,450 --> 01:17:19,530 >> Un tāpēc šis jautājums ir veida, piemēram, konceptuāls jautājums, mēs lūgsim. 1502 01:17:19,530 --> 01:17:21,430 Kur vispirms, lai jūs zināt, ko atlases veida 1503 01:17:21,430 --> 01:17:23,304 ir labi, lai spētu atbildēt uz jautājumu. 1504 01:17:23,304 --> 01:17:26,200 Jums ir jāspēj saprast konceptuāli kas notiek. 1505 01:17:26,200 --> 01:17:30,760 Un tad jūs varat pieteikties, un domāju, OK pieņemsim tikai iedomāties sliktāko scenāriju. 1506 01:17:30,760 --> 01:17:32,230 Viņi visi dilstošā secībā. 1507 01:17:32,230 --> 01:17:33,290 Kā tas var ietekmēt to? 1508 01:17:33,290 --> 01:17:34,650 >> Ko darīt, ja tas ir augošā secībā? 1509 01:17:34,650 --> 01:17:35,640 Ja tas ir jau sakārtoti? 1510 01:17:35,640 --> 01:17:37,240 Kā tas var ietekmēt runtimes? 1511 01:17:37,240 --> 01:17:40,270 Un tad izvēle kārtot, jūs pamanīsiet ka tas nav reāli nozīmes. 1512 01:17:40,270 --> 01:17:43,500 Tāpēc, ka jūs pārbaudīt visu vērtībām neatkarīgi no tā, kas notiek. 1513 01:17:43,500 --> 01:17:45,810 >> Un tā labas lietas, kas jāatceras. 1514 01:17:45,810 --> 01:17:50,290 Kāpēc daži veidu atšķiras no citiem un kā vislabāk un sliktākajā gadījumā 1515 01:17:50,290 --> 01:17:52,740 ietekmētu visas no tām. 1516 01:17:52,740 --> 01:17:56,700 >> Es esmu gatavojas patiešām hit veidu jo tas būs uz viktorīnas. 1517 01:17:56,700 --> 01:17:57,199 Jā. 1518 01:17:57,199 --> 01:18:00,820 1519 01:18:00,820 --> 01:18:01,320 LABI. 1520 01:18:01,320 --> 01:18:05,590 Ir atlikušas sešas minūtes. 1521 01:18:05,590 --> 01:18:09,880 Es varu veikt trīs minūtes jautājumiem. 1522 01:18:09,880 --> 01:18:12,290 Es varu arī pakārt ap tāpat kā 20 minūtes pēc iedaļas 1523 01:18:12,290 --> 01:18:13,850 Ja vēlaties uzdot jautājumus, kā arī. 1524 01:18:13,850 --> 01:18:16,330 Vai kāds vienkārši ir ļoti īss jautājumi vai konceptuāli jautājumi 1525 01:18:16,330 --> 01:18:17,360 viņi nav skaidrs par to tieši tagad? 1526 01:18:17,360 --> 01:18:17,832 Yeah? 1527 01:18:17,832 --> 01:18:19,720 >> Mērķauditorija: Vai jūs varat runāt mazliet bit par Bitu līmeņa operatoriem? 1528 01:18:19,720 --> 01:18:20,280 >> PROFESSOR: Jā. 1529 01:18:20,280 --> 01:18:22,446 Tātad Bitu līmeņa operatoriem kaut kas jums, iespējams, 1530 01:18:22,446 --> 01:18:24,170 varētu vienkārši vēlaties, lai jūsu lapas. 1531 01:18:24,170 --> 01:18:27,540 Tātad quickly-- es nevēlos iet pārāk daudz padziļināti 1532 01:18:27,540 --> 01:18:31,164 jo Harvard, savā pārskatā sesija, uz to diezgan labi. 1533 01:18:31,164 --> 01:18:33,080 Bitu līmeņa uzņēmējs, tur ir pieci no viņiem, vai ne? 1534 01:18:33,080 --> 01:18:41,370 >> Tur ir tas, kas ir x vai funkcija, tur ir & zīme, kas ir un. 1535 01:18:41,370 --> 01:18:44,050 Caurule, kas ir vai. 1536 01:18:44,050 --> 01:18:46,790 Un tad jums ir divas dažāda veida maiņu. 1537 01:18:46,790 --> 01:18:50,610 >> Ja es dodu jums divas vērtības, ja Es dodu jums, piemēram, viens un viens. 1538 01:18:50,610 --> 01:18:52,390 Kas būtu, ka izvērtēt to? 1539 01:18:52,390 --> 01:18:55,490 Ja es jums taisnība, un patiesība, taisnība? 1540 01:18:55,490 --> 01:18:56,930 Kas par patiess vai nepatiess? 1541 01:18:56,930 --> 01:18:57,830 Joprojām ir taisnība, vai ne? 1542 01:18:57,830 --> 01:18:59,762 Jo tur ir vai. 1543 01:18:59,762 --> 01:19:01,220 Mēs, visticamāk, dos jums numurus. 1544 01:19:01,220 --> 01:19:03,780 Līdz ar to atcerēties, viens ir vienāds taisnība, nulle vienāds nepatiesa. 1545 01:19:03,780 --> 01:19:07,407 Un mēs varētu sniegt jums šīs lietas un aicinu jūs, lai pastāstītu mums, kas notiek. 1546 01:19:07,407 --> 01:19:10,240 Harvard pārklāj to laikā pirmais 10 minūtes viņu studiju sesijas 1547 01:19:10,240 --> 01:19:11,230 tiešām, tiešām labi. 1548 01:19:11,230 --> 01:19:14,260 Tātad jūs guys vēlaties, lai pārliecināts, ka jūs atskats uz to. 1549 01:19:14,260 --> 01:19:16,387 >> Mērķauditorija: Vai pisa5 būs uz viktorīnu? 1550 01:19:16,387 --> 01:19:16,970 PROFESSOR: Nē. 1551 01:19:16,970 --> 01:19:18,240 Vai nav pat apskatīt pisa5 tieši tagad. 1552 01:19:18,240 --> 01:19:18,810 Tas ir grūti. 1553 01:19:18,810 --> 01:19:22,830 Vienkārši nav pat apnikt meklē pisa5. 1554 01:19:22,830 --> 01:19:25,665 >> Tomēr, tā kā daži mājieni un ieteikumi, es 1555 01:19:25,665 --> 01:19:28,320 ieteiktu jums sākt pisa5 tiklīdz viktorīna ir beigusies. 1556 01:19:28,320 --> 01:19:30,319 Tas būs grūtākais nedēļā, bet tad jūs guys 1557 01:19:30,319 --> 01:19:34,590 tiks nodota to pauguri Ritošā zaļa un kucēni, 1558 01:19:34,590 --> 01:19:36,115 un tas ir labi. 1559 01:19:36,115 --> 01:19:39,810 >> Šī klase saņem nozīmīgu vieglāk pēc piektā PSET. 1560 01:19:39,810 --> 01:19:41,560 Mērķauditorija: Darba laiks ir Svētdiena, pirmdiena? 1561 01:19:41,560 --> 01:19:44,260 PROFESSOR: Jā, tā darba laiks būs svētdienas uz pirmdienu uz PSET. 1562 01:19:44,260 --> 01:19:47,009 Darba laiks šovakar pēc būtības būs tikai pārskats par viktorīnas. 1563 01:19:47,009 --> 01:19:50,350 Ja kāds vēlas nākt un jautāt Tehniskās vienošanās jautājums, mēs būsim tur. 1564 01:19:50,350 --> 01:19:53,220 >> Es ņemšu varbūt vēl vienu jautājumu ja kāds ir jautājums? 1565 01:19:53,220 --> 01:19:53,809 Yeah? 1566 01:19:53,809 --> 01:19:55,850 Mērķauditorija: Kad esat definē mezgli, [nedzirdama] 1567 01:19:55,850 --> 01:20:00,700 ja jūs sakāt mezglu zvaigzne un tad nākamais, pats dators automātiski 1568 01:20:00,700 --> 01:20:03,610 saprotu, ka jūs esat atsaucoties uz citu rādītāju? 1569 01:20:03,610 --> 01:20:04,580 >> PROFESSOR: Nē. 1570 01:20:04,580 --> 01:20:06,710 >> Mērķauditorija: Jums ir relink tas [dzirdams]? 1571 01:20:06,710 --> 01:20:09,270 >> PROFESSOR: Tātad būtībā struct no mezglā ir, atcerieties, 1572 01:20:09,270 --> 01:20:12,620 tas ir tāpat kā jums izveidot mezglu un tad jums ir rādītājs, ko sauc par nākamo. 1573 01:20:12,620 --> 01:20:14,630 Viss, jūs darāt, ir ar struktūra tur. 1574 01:20:14,630 --> 01:20:16,387 Jums ir jāpiešķir ka rādītājs kaut kur. 1575 01:20:16,387 --> 01:20:18,470 Tātad datori nav zina, ko tas dara vēl. 1576 01:20:18,470 --> 01:20:20,250 Jums ir faktiski piešķirt to, kad jūs veidojat savu saistīts sarakstu. 1577 01:20:20,250 --> 01:20:22,170 Un tas, ko galvenokārt PSET 5 būs. 1578 01:20:22,170 --> 01:20:24,106 Līdz ar to nav rūpes par jebkuru, ka tieši tagad. 1579 01:20:24,106 --> 01:20:26,380 >> Mērķauditorija: Tātad mums nav nepieciešams koncentrēties pārāk daudz par saiti sarakstā, vienkārši 1580 01:20:26,380 --> 01:20:27,440 vispārējā koncepcija? 1581 01:20:27,440 --> 01:20:30,980 >> PROFESSOR: Tikai diezgan daudz skursteņi, rindas, saite saraksti, koki, hash tabulas. 1582 01:20:30,980 --> 01:20:33,639 Tikai varētu zināt, kas viņi ir. 1583 01:20:33,639 --> 01:20:35,680 Mēs nebrauksim lūgt jums patīk kaut kas īpašs 1584 01:20:35,680 --> 01:20:39,300 jo mēs neesam īsti darīts PSET, ka aptver jebkuru, kas vēl. 1585 01:20:39,300 --> 01:20:45,540 >> Tātad pēdējās divas minūtes pirms Es jūs brīvus nogalināt šo viktorīnu. 1586 01:20:45,540 --> 01:20:49,370 Diezgan daudz, piemēram, domāju par to, kā tālu jūs guys ir jānāk šajā klasē. 1587 01:20:49,370 --> 01:20:52,820 >> Es atceros, kad nedēļā divas Šīs klases, daži no jums 1588 01:20:52,820 --> 01:20:55,720 pavadīt trīs stundas rakstot ūdeni. 1589 01:20:55,720 --> 01:20:57,970 Cik ilgi tas tā tevi puiši rakstīt ūdeni tagad? 1590 01:20:57,970 --> 01:20:59,670 30 sekundes, varbūt? 1591 01:20:59,670 --> 01:21:01,810 Padomājiet par to, cik daudz jums puiši ir iemācījušies. 1592 01:21:01,810 --> 01:21:04,320 CS ir patiesi, patiesi grūti temats. 1593 01:21:04,320 --> 01:21:06,190 Nav šaubu par to. 1594 01:21:06,190 --> 01:21:09,160 Tas ir grūti, tāpēc neviens pētījumos. 1595 01:21:09,160 --> 01:21:10,730 Tas ir tikai grūti. 1596 01:21:10,730 --> 01:21:11,650 Un tas ir pilnīgi naudas sodu. 1597 01:21:11,650 --> 01:21:14,150 >> Un es esmu patiesi lepns, ka ikvienam ir padarījusi šo tālu. 1598 01:21:14,150 --> 01:21:16,380 Psets nav viegli. 1599 01:21:16,380 --> 01:21:17,790 Viņi ņem daudz laika. 1600 01:21:17,790 --> 01:21:22,580 Jūs guys, es nekad lūgt jums rakstīt spēle 15. vai Vigenere uz PSET. 1601 01:21:22,580 --> 01:21:24,160 Nav nepieciešams, lai tikai ķēms par to. 1602 01:21:24,160 --> 01:21:28,080 Visi mēs esam testēšana šeit ir novērtēt Jūsu konceptuālo zināšanas, kā arī 1603 01:21:28,080 --> 01:21:31,524 kā daži no jūsu pamata prasmju kodēšanas. 1604 01:21:31,524 --> 01:21:33,440 Tests ir paredzēts, lai būt patiesi grūti. 1605 01:21:33,440 --> 01:21:36,180 Tāpat kā tas ir paredzēts, jums nav iegūt 100. 1606 01:21:36,180 --> 01:21:39,880 Tas ir arī paredzēts, lai jūs, iespējams, nevarēs pabeigt 75 minūtēs. 1607 01:21:39,880 --> 01:21:41,995 Un tas ir pilnīgi naudas sodu. 1608 01:21:41,995 --> 01:21:42,870 Es esmu students pats. 1609 01:21:42,870 --> 01:21:45,960 Es zinu, es ienīst to, kad es staigāt no viktorīnu būt, piemēram, sūdi. 1610 01:21:45,960 --> 01:21:47,044 Tas bija tiešām grūti. 1611 01:21:47,044 --> 01:21:49,460 Droši vien to, kas notiek, lai happen-- un tas ir pilnīgi naudas sodu, 1612 01:21:49,460 --> 01:21:50,751 Es esmu stāsta jums puiši tieši tagad. 1613 01:21:50,751 --> 01:21:53,190 Līdzekļi par šīm lietām nav augstas vispār. 1614 01:21:53,190 --> 01:21:55,360 >> Un tiem no jums, kas ir iegūt, piemēram, 1615 01:21:55,360 --> 01:21:57,870 trijiem par savu problēmu kopas, tas nenozīmē, ka tu esi 1616 01:21:57,870 --> 01:21:59,536 gatavojas saņemt 60 procentus šajā klasē. 1617 01:21:59,536 --> 01:22:01,440 Ja jums 60% par viktorīna, ka nav 1618 01:22:01,440 --> 01:22:03,330 nozīmē, ka jūs esat gatavojas iegūt D šajā klasē. 1619 01:22:03,330 --> 01:22:05,740 Mēs redzam, sevišķi es, par tiem no jums, manā nodaļā, 1620 01:22:05,740 --> 01:22:07,406 Es redzu, cik grūti jūs puiši visi strādā. 1621 01:22:07,406 --> 01:22:09,190 Un es izsekot to. 1622 01:22:09,190 --> 01:22:11,420 >> Jūs puiši būs labi. 1623 01:22:11,420 --> 01:22:14,580 Nav institucionālā atmiņa laime beigās semestra. 1624 01:22:14,580 --> 01:22:16,840 Jo visi Harvard bērni stāsta viņu draugi, ak, jums būs labi. 1625 01:22:16,840 --> 01:22:18,381 Neviens stāsta jums puiši, kas šeit. 1626 01:22:18,381 --> 01:22:20,950 Tāpēc man ir pateikt cilvēkiem, ka šeit. 1627 01:22:20,950 --> 01:22:22,280 >> Jūs puiši būs labi. 1628 01:22:22,280 --> 01:22:24,080 Es esmu tik lepna par jums visiem puiši. 1629 01:22:24,080 --> 01:22:25,680 Tests būs grūti. 1630 01:22:25,680 --> 01:22:28,140 Pētījums par to, un pēc tam vienkārši mest to prom. 1631 01:22:28,140 --> 01:22:31,280 Get gatavs apgūt jaunas lietas. 1632 01:22:31,280 --> 01:22:33,990 Un ēst konfektes. 1633 01:22:33,990 --> 01:22:35,940 Mēs esam ir daudz konfektes. 1634 01:22:35,940 --> 01:22:37,760 >> Iegūt labu nakts miegu. 1635 01:22:37,760 --> 01:22:40,420 Nav ne gulēt, jo ka gribētu būt patiešām slikti. 1636 01:22:40,420 --> 01:22:41,490 CS ir daudz loģikas. 1637 01:22:41,490 --> 01:22:44,960 Ja jums nav gulēt, jūs nevar darboties, un jūsu smadzenes nevar darboties. 1638 01:22:44,960 --> 01:22:48,780 Un es būšu šeit, lai nākamais 20 minūtes, ja kāds vēlas, lai pakārt apkārt. 1639 01:22:48,780 --> 01:22:51,150 Jūs puiši gatavojas to nogalināt. 1640 01:22:51,150 --> 01:22:53,000 Veiksmi. 1641 01:22:53,000 --> 01:22:55,663