1 00:00:00,000 --> 00:00:05,530 2 00:00:05,530 --> 00:00:09,790 >> ATHRO: Felly yr agenda ar gyfer yr wythnos hon, nid yw llawer o bethau. 3 00:00:09,790 --> 00:00:12,801 Ond gobeithio iawn, yn ddefnyddiol iawn ac yn berthnasol i chi guys yr wythnos hon. 4 00:00:12,801 --> 00:00:15,550 Ond rydym yn mynd i wario efallai 15, 20 munud yn unig yn gyflym yn siarad 5 00:00:15,550 --> 00:00:17,370 am restr cyswllt. 6 00:00:17,370 --> 00:00:19,694 Rhestrau Link yn mynd i yn cael eu cynnwys ar y cwis. 7 00:00:19,694 --> 00:00:22,610 Felly, efallai byddai'n ddefnyddiol iawn i ddysgu ychydig am beth yw hynny. 8 00:00:22,610 --> 00:00:25,210 >> Rydym yn mynd i wario'r enfawr rhan fwyaf o adran heddiw 9 00:00:25,210 --> 00:00:27,640 mynd dros cwis sero problemau ymarferol. 10 00:00:27,640 --> 00:00:30,970 Ac yna byddwn yn arbed efallai 20, 30 munud ar y diwedd i unrhyw gwestiynau lingering 11 00:00:30,970 --> 00:00:32,850 gan unrhyw un. 12 00:00:32,850 --> 00:00:34,610 >> Ac yna, yr olaf bum munud, dw i'n mynd 13 00:00:34,610 --> 00:00:36,467 i roi pwmp i fyny araith ar gyfer y cwis. 14 00:00:36,467 --> 00:00:38,050 Rydych guys i gyd yn awyddus i fod yma am hynny. 15 00:00:38,050 --> 00:00:39,591 Oherwydd ei fod yn mynd i fod yn amser da. 16 00:00:39,591 --> 00:00:42,650 17 00:00:42,650 --> 00:00:49,230 >> Mae pob hawl, felly mae rhai deunydd ar y rhestr gyswllt. 18 00:00:49,230 --> 00:00:52,620 Sut maen nhw'n strwythuro fel arfer yn gennych yr hyn a elwir yn nod, dde? 19 00:00:52,620 --> 00:00:54,870 Mae gennych y pethau hyn a elwir yn nodau, sef structs. 20 00:00:54,870 --> 00:00:57,360 Byddaf yn mynd dros y ffordd i greu yn nod yn y sleid nesaf. 21 00:00:57,360 --> 00:01:00,680 Ond yn y bôn i gyd yn gysylltiedig rhestrau yw data sy'n 22 00:01:00,680 --> 00:01:03,340 wedi cael ei strung at ei gilydd drwy awgrymiadau. 23 00:01:03,340 --> 00:01:09,110 >> Ac felly y fantais sydd gennym o ddefnyddio rhestr cysylltiedig drosodd, 24 00:01:09,110 --> 00:01:11,280 efallai, fel amrywiaeth, yn y ffaith bod yn amrywiaeth 25 00:01:11,280 --> 00:01:15,000 arnoch angen un bloc cydgyffwrdd o cof i gyd yn yr un lle, un 26 00:01:15,000 --> 00:01:16,870 ar ôl y llall, i allu cael hynny. 27 00:01:16,870 --> 00:01:20,200 Tra restr cysylltiedig, gallech rhaid darnau bach ar hap o gof 28 00:01:20,200 --> 00:01:23,020 ar hyd a lled eich cyfrifiadur strung at ei gilydd gan awgrymiadau. 29 00:01:23,020 --> 00:01:26,270 >> Ac yn y modd hwn byddwch yn Gellir cael gafael ar wybodaeth 30 00:01:26,270 --> 00:01:28,610 sy'n dod un ar ôl y eraill, ar ôl y llall 31 00:01:28,610 --> 00:01:32,720 heb fod angen dim ond darn mawr o cof yn eich cyfrifiadur yn rhywle. 32 00:01:32,720 --> 00:01:35,910 Ac felly mae hwn yn un o'r prif rhesymau pam yr ydym yn defnyddio rhestr gyswllt. 33 00:01:35,910 --> 00:01:40,300 >> Yn ail, mae'n hawdd iawn i ddeinamig newid maint y rhestr cyswllt oherwydd yn array, 34 00:01:40,300 --> 00:01:44,720 pan fyddwch yn datgan arae, â gwerth set benodol i chi. 35 00:01:44,720 --> 00:01:47,340 Lets 'ddeud fy mod i eisiau creu amrywiaeth o 10 o gyfanrifau. 36 00:01:47,340 --> 00:01:49,970 Yr wyf yn creu amrywiaeth o 10 cyfanrifau, a dyna ni. 37 00:01:49,970 --> 00:01:50,580 Mae'n 10. 38 00:01:50,580 --> 00:01:52,038 Nid wyf yn gwybod beth i'w wneud ar ôl hynny. 39 00:01:52,038 --> 00:01:53,680 Os oeddwn i eisiau ei wneud yn 11, ni all wneud hynny. 40 00:01:53,680 --> 00:01:55,710 Os wyf am ei gwneud yn 9, ni all wneud hynny. 41 00:01:55,710 --> 00:01:59,910 >> Tra yn rhestr gyswllt, gallwch ychwanegu a dileu a mewnosod ble bynnag y mynnwch. 42 00:01:59,910 --> 00:02:04,940 Gallwch newid maint ddeinamig ar eich strwythuro yma, eich strwythur data. 43 00:02:04,940 --> 00:02:08,370 Ac mae hynny'n rhoi llawer i ni mwy o hyblygrwydd ychwanegu 44 00:02:08,370 --> 00:02:11,320 nad ydym yn ei wneud fel arfer wedi gyda arrays. 45 00:02:11,320 --> 00:02:15,210 >> Dylai unrhyw un drysu ar sylfaenol Strwythur o sut rhestr gyswllt yn 46 00:02:15,210 --> 00:02:17,930 neu pam mae'n rhaid i ni ddefnyddio un dros arae? 47 00:02:17,930 --> 00:02:20,330 Yeah, byddwn yn mynd drosodd yn fanwl sut i mewn gwirionedd yn creu un. 48 00:02:20,330 --> 00:02:24,121 Ond mae hyn yn unig fath o yr ystyr gyffredinol ar hyn o bryd. 49 00:02:24,121 --> 00:02:24,620 Cool. 50 00:02:24,620 --> 00:02:28,770 Ac felly yn cael eu strung araeau gilydd o'r rhain bethau bach hyfryd 51 00:02:28,770 --> 00:02:29,960 Gelwir nodau. 52 00:02:29,960 --> 00:02:32,210 Mae pob cainc yn yn fath o struct. 53 00:02:32,210 --> 00:02:36,090 Cofiwch, mae struct yw os ydych yn dymuno i greu math arbennig o newidyn 54 00:02:36,090 --> 00:02:39,850 yn C nad yw'n barod yn bodoli, i chi, fel rhaglennydd, 55 00:02:39,850 --> 00:02:42,030 Gall mewn gwirionedd yn creu y chi eich hun. 56 00:02:42,030 --> 00:02:46,540 >> Ac felly y math hwn o ddata Gelwir strwythur yn un nod, 57 00:02:46,540 --> 00:02:50,770 wedi mewn gwirionedd yn cael ei greu gan ni, yn bodoli o fewn C ar ei ben ei hun. 58 00:02:50,770 --> 00:02:53,150 A'r ffordd yr ydych yn greu un yw bod gennych 59 00:02:53,150 --> 00:02:57,170 y pennawd struct typedef, sy'n adrodd compiler rwy'n 60 00:02:57,170 --> 00:02:59,640 ar fin creu struct. 61 00:02:59,640 --> 00:03:00,830 >> Rydym yn enw yn mynd yn "nod." 62 00:03:00,830 --> 00:03:03,350 Ac y tu ydym yn mynd i ddatgan newidyn yn, 63 00:03:03,350 --> 00:03:05,060 sydd yn mynd i storio gwerth. 64 00:03:05,060 --> 00:03:09,320 Ac yna rydym hefyd yn mynd i wedi pwyntydd enw "nesaf" 65 00:03:09,320 --> 00:03:12,090 sy'n cyfeirio at y nesaf nod yn y rhestr cyswllt. 66 00:03:12,090 --> 00:03:14,730 Ac yna byddwch yn gorffen bod i ffwrdd at jyst yn ailadrodd nod eto, felly 67 00:03:14,730 --> 00:03:17,490 y compiler a ŵyr, OK dyna ddiwedd fy struct. 68 00:03:17,490 --> 00:03:22,540 >> Ac felly yn y modd hwn, rydym yn garedig o greu amrywiaeth bach cute 69 00:03:22,540 --> 00:03:25,450 math o beth gyda gwerth a gyda pwyntydd. 70 00:03:25,450 --> 00:03:27,757 A gallwch eu cysylltu i gyd ynghyd ag awgrymiadau hynny. 71 00:03:27,757 --> 00:03:30,090 Fel y gallant bob math yn strung at ei gilydd mewn cadwyn. 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 Allwch chi glywed bod ychydig yn well? 75 00:03:35,453 --> 00:03:36,140 >> GYNULLEIDFA: Yeah. 76 00:03:36,140 --> 00:03:38,540 >> ATHRO: Pob hawl. 77 00:03:38,540 --> 00:03:44,280 Felly, y ffordd honno, fel y gallwch weld guys, rhestr gyswllt nodweddiadol wedi'i strwythuro 78 00:03:44,280 --> 00:03:45,500 yw bod gennych pen. 79 00:03:45,500 --> 00:03:49,460 Yn cael y gwerth pen i chi beidio sef yn cael ei sylw at y ffaith gan unrhyw pwyntydd arall. 80 00:03:49,460 --> 00:03:53,177 Ond mae'n mynd i bwyntio at, neu gyfeirnod, nod arall. 81 00:03:53,177 --> 00:03:56,510 Mae'r nôd ar ôl yn mynd i gyfeirio at y nod ar ôl hynny, ac yn y blaen ac yn y blaen 82 00:03:56,510 --> 00:03:59,170 hyd nes y byddwch yn y pen draw taro diwedd eich rhestr cyswllt. 83 00:03:59,170 --> 00:04:00,980 A 'ch jyst ni fydd yn rhaid pwyntydd yno. 84 00:04:00,980 --> 00:04:04,659 >> Ac felly, yn meddwl fel, ar gadwyn, neu hyd yn oed os unrhyw un ohonoch guys wneud, nid wyf yn gwybod, 85 00:04:04,659 --> 00:04:06,450 fel gyda Dolenni Ffrwythau pan oeddech yn fach. 86 00:04:06,450 --> 00:04:08,590 Byddech llinyn nhw at ei gilydd ac yn eu gwisgo o gwmpas eich gwddf. 87 00:04:08,590 --> 00:04:09,840 Meddwl ei fod yr un peth yn union. 88 00:04:09,840 --> 00:04:12,964 Mae gennych pethau bach yma sy'n eich gall llinyn ynghyd y pwynt hwnnw i un 89 00:04:12,964 --> 00:04:15,291 ar ôl iddo, i'r un ar ôl iddo, ac yn y blaen ac yn y blaen 90 00:04:15,291 --> 00:04:17,040 hyd nes y byddwch yn cael cadwyn o strwythur data 91 00:04:17,040 --> 00:04:21,190 y gallwch ei ddefnyddio bynnag yr ydych yn hoffi. 92 00:04:21,190 --> 00:04:27,370 >> Felly, y ffordd y mae hyn byddem fel arfer yn mewnosod neu ddileu 93 00:04:27,370 --> 00:04:30,020 unrhyw nôd o gysylltiad rhestr yn wahanol iawn 94 00:04:30,020 --> 00:04:31,970 gan ddibynnu ar ble y nôd yn. 95 00:04:31,970 --> 00:04:34,880 Felly, er enghraifft, oherwydd awgrymiadau bob amser 96 00:04:34,880 --> 00:04:38,645 pwyntio am bris penodol, pan fyddwch yn dileu neu'n rhowch nod, 97 00:04:38,645 --> 00:04:41,770 ydych chi eisiau gwneud yn siŵr bod y pwyntydd i gyd pwyntio at y pethau iawn. 98 00:04:41,770 --> 00:04:46,200 >> Felly, os ydych eisiau o bosibl mewnosod cainc newydd gyda gwerth un 99 00:04:46,200 --> 00:04:48,379 y tu mewn i ddolen ddidoli rhestr, yr ydym i gyd yn gwybod yma 100 00:04:48,379 --> 00:04:51,170 o'r darlun sy'n mynd i mynd i mewn rhwng y pennaeth a dau, dde? 101 00:04:51,170 --> 00:04:52,620 Oherwydd bod un cyd-fynd yn iawn yno. 102 00:04:52,620 --> 00:04:59,060 Ond mae'r ffordd y byddem yn gwneud hynny yw drwy dereferencing pwyntydd gyntaf 103 00:04:59,060 --> 00:05:02,160 o ben ac anfon y i un. 104 00:05:02,160 --> 00:05:05,040 >> Ond rydym yn dod i o broblem yma. 105 00:05:05,040 --> 00:05:08,280 A all unrhyw un weld beth yw'r broblem yw pe baem yn dereference cyntaf 106 00:05:08,280 --> 00:05:10,090 pwyntydd o pen i'r un? 107 00:05:10,090 --> 00:05:14,202 Pa broblem efallai y byddwn yn rhedeg i mewn os ydym yn ceisio hyn i ychwanegu at y flaen ein arae? 108 00:05:14,202 --> 00:05:15,409 >> GYNULLEIDFA: [Anghlywadwy] 109 00:05:15,409 --> 00:05:16,200 ATHRO: Yn union. 110 00:05:16,200 --> 00:05:20,000 Felly dyma gennym pwyntydd a oedd yn unwaith bwyntio o'r pen i ddau. 111 00:05:20,000 --> 00:05:23,120 Ond os ydych yn cael gwared ar y pwyntydd, eich cyfeirio i un, 112 00:05:23,120 --> 00:05:26,500 erbyn hyn mae gennym ddim syniad lle i fynd i ddod o hyd i ddau. 113 00:05:26,500 --> 00:05:29,850 Oherwydd fel y dywedais o'r blaen, mae gennych darn mawr o gof yn eich cyfrifiadur. 114 00:05:29,850 --> 00:05:31,860 Mae'r holl nodau hyn gallai yn cael ei fritho ar hap 115 00:05:31,860 --> 00:05:33,350 mewn unrhyw le yn eich cyfrifiadur. 116 00:05:33,350 --> 00:05:36,140 Ac nad ydych yn gwybod sut i fynd ati i ddod o hyd hynny. 117 00:05:36,140 --> 00:05:40,420 >> Ac felly mae angen i chi gael awgrymiadau gan dynnu sylw at yr holl nodau ar y diwedd. 118 00:05:40,420 --> 00:05:42,420 Neu arall, os ydych yn ddamweiniol dereference un 119 00:05:42,420 --> 00:05:44,485 heb aseinio cyntaf gwerth yn gyntaf, rydych yn 120 00:05:44,485 --> 00:05:47,410 jyst yn mynd i golli popeth ar ôl hynny. 121 00:05:47,410 --> 00:05:49,720 >> Felly, yr hyn yr ydym ni'n mynd i wneud yw, byddech yn gyntaf 122 00:05:49,720 --> 00:05:53,270 eisiau creu pwyntydd ar y nôd yr hoffech ei fewnosod. 123 00:05:53,270 --> 00:05:55,270 Tynnwch i ble rydych yn eisiau i fewnosod iddo, 124 00:05:55,270 --> 00:05:59,410 ac yna ar ôl hynny i chi Gallai dynnu pen yn ôl i un. 125 00:05:59,410 --> 00:06:02,800 >> A yw hynny'n gwneud synnwyr i bawb yma? 126 00:06:02,800 --> 00:06:03,346 Great. 127 00:06:03,346 --> 00:06:04,720 Meddyliwch am y peth fel yn union fel cadwyn. 128 00:06:04,720 --> 00:06:07,420 Os byddwch yn ychwanegu cadwyn, mae'n fath o 'n athrylithgar 129 00:06:07,420 --> 00:06:10,742 sut y byddech yn mynd ati i fewnosod hynny. 130 00:06:10,742 --> 00:06:15,274 >> OK, fel bod mewn gwirionedd yn llawer fyrrach nag yr oeddwn yn meddwl y byddai'n, 131 00:06:15,274 --> 00:06:16,690 mae truth pum munud ar restrau cyswllt. 132 00:06:16,690 --> 00:06:19,960 Yn union fel eich guys yn cael y syniad sylfaenol o beth yw hynny. 133 00:06:19,960 --> 00:06:23,580 >> Yma, mae gennym yr agenda ar gyfer cwis sero. 134 00:06:23,580 --> 00:06:24,895 Peidiwch â gadael i hyn dychryn chi. 135 00:06:24,895 --> 00:06:26,270 Rwy'n gwybod ei fod yn llawer o wybodaeth. 136 00:06:26,270 --> 00:06:27,580 Mae'n edrych yn frawychus iawn. 137 00:06:27,580 --> 00:06:33,130 Mae hefyd llawer o, yr wyf yn yn meddwl, CSC fath o dermau. 138 00:06:33,130 --> 00:06:37,440 Pethau fel llinynnau hecsadegol, awgrymiadau, dyraniadau cof deinamig 139 00:06:37,440 --> 00:06:40,120 yn dermau swnio'n frawychus iawn. 140 00:06:40,120 --> 00:06:42,700 >> Ond rydym yn mynd i'w torri lawr, yn gwneud rhai problemau ymarferol 141 00:06:42,700 --> 00:06:44,980 er mwyn i chi guys i gyd yn barod ar gyfer y prawf hwn. 142 00:06:44,980 --> 00:06:47,104 Faint ohonoch chi guys yn cael eisoes wedi dechrau astudio? 143 00:06:47,104 --> 00:06:50,040 144 00:06:50,040 --> 00:06:53,670 >> OK, rydych guys mwy na thebyg eisiau i ddechrau cychwyn arni 145 00:06:53,670 --> 00:06:56,480 ar hynny, oherwydd bod y cwis yn yfory. 146 00:06:56,480 --> 00:06:58,739 Neu ddydd Iau ar gyfer rhai ohonoch chi. 147 00:06:58,739 --> 00:07:01,030 Yeah, felly rydym yn mynd i fynd dros rai problemau ymarferol. 148 00:07:01,030 --> 00:07:04,600 Os ydych chi guys i gyd am gymryd allan ddalen o bapur, pensil. 149 00:07:04,600 --> 00:07:07,310 Rydym yn mynd i jyst wario'r mwyafrif helaeth o adran heddiw 150 00:07:07,310 --> 00:07:11,590 mynd dros rai o hynny er mwyn i chi guys yn cael syniad o beth i'w ddisgwyl ar y cwis. 151 00:07:11,590 --> 00:07:14,957 152 00:07:14,957 --> 00:07:16,890 >> IAWN. 153 00:07:16,890 --> 00:07:19,730 Mae cwpl o logistaidd manylion hefyd, i unrhyw un 154 00:07:19,730 --> 00:07:25,120 nad yw wedi bod i'r cysylltiad hwnnw yno, os byddwch yn mynd i cs50.yale.edu, ar y tu blaen 155 00:07:25,120 --> 00:07:28,566 y dudalen hon mae cysylltiad sy'n dweud "About Cwis Zero." 156 00:07:28,566 --> 00:07:29,440 Link yn mynd â chi yno. 157 00:07:29,440 --> 00:07:31,065 Os nad ydych wedi ei ddarllen, os gwelwch yn dda ddarllen. 158 00:07:31,065 --> 00:07:34,470 Oherwydd ei fod yn dweud wrthych yn bwysig iawn gwybodaeth am y cwis. 159 00:07:34,470 --> 00:07:37,410 >> Rydw i'n mynd i dynnu hyn allan oddi wrth mai dim ond oherwydd, yn gorfforol, 160 00:07:37,410 --> 00:07:40,200 os nad ydych guys yn gwybod lle i fynd, bydd gennym broblemau. 161 00:07:40,200 --> 00:07:44,220 Ac felly os yw eich ddiwethaf o ran ag A i N, ewch i'r awditoriwm ysgol y gyfraith. 162 00:07:44,220 --> 00:07:47,500 Ac os yw eich dechrau diwethaf gyda P AY, ewch i Davies Awditoriwm. 163 00:07:47,500 --> 00:07:50,240 Ac mae hyn ond yn berthnasol ar gyfer pobl yn yr adran dydd Mercher. 164 00:07:50,240 --> 00:07:53,420 >> Os ydych yn cymryd y cwis ar Dydd Iau, byddwch yn mynd i SSS 114 165 00:07:53,420 --> 00:07:55,078 lle mae eich ddarlith fel arfer yn. 166 00:07:55,078 --> 00:07:55,953 GYNULLEIDFA: [Anghlywadwy] 167 00:07:55,953 --> 00:07:59,316 168 00:07:59,316 --> 00:08:01,940 ATHRO: O i Y, rydych yn mynd i fynd i'r awditoriwm Davies. 169 00:08:01,940 --> 00:08:03,273 Rydw i'n mynd i newid hynny, dde? 170 00:08:03,273 --> 00:08:05,670 171 00:08:05,670 --> 00:08:09,698 >> O, ie, 'ch jyst yn methu yn awtomatig. 172 00:08:09,698 --> 00:08:11,753 >> O ie, dyna chi Christa. 173 00:08:11,753 --> 00:08:15,190 174 00:08:15,190 --> 00:08:16,030 Yeah, fy ddrwg. 175 00:08:16,030 --> 00:08:17,610 Yep, O i Y, rydych yn mynd i fynd i'r Davies Auditorim. 176 00:08:17,610 --> 00:08:19,140 Rydw i'n mynd i atgyweiria hon ar ôl i mi llwytho i fyny. 177 00:08:19,140 --> 00:08:20,320 Yeah. 178 00:08:20,320 --> 00:08:22,160 >> Ac yna hefyd rywbeth bwysig i'r meddwl 179 00:08:22,160 --> 00:08:25,290 yw y dydd Mercher, os ydych yn swyddogol cofrestru yn yr adran Dydd Mercher, 180 00:08:25,290 --> 00:08:26,832 mae'n rhaid i chi gymryd eich cwis ar ddydd Mercher. 181 00:08:26,832 --> 00:08:29,706 Ac os ydych yn cofrestru yn y Dydd Iau, mae'n rhaid i chi gymryd eich cwis Iau. 182 00:08:29,706 --> 00:08:31,000 Ac mae'n yn ystod amser dosbarth. 183 00:08:31,000 --> 00:08:35,970 Ble, yr wyf yn credu ei fod yn debyg i 01:00 02:15 ar ddydd Mercher a 2:30-03:45 184 00:08:35,970 --> 00:08:37,220 ar ddydd Iau. 185 00:08:37,220 --> 00:08:41,710 >> Os oes gennych gwrthdaro digymod, Esgusodion Deon yw'r unig beth, 186 00:08:41,710 --> 00:08:43,030 yn anffodus, gallwn gymryd. 187 00:08:43,030 --> 00:08:45,560 Oherwydd ein bod wedi cael mwyafrif helaeth o geisiadau 188 00:08:45,560 --> 00:08:47,970 i newid o ddydd Mercher i ddydd Iau. 189 00:08:47,970 --> 00:08:51,265 Na allwn anrhydeddu oni bai mae gennym cais Deon. 190 00:08:51,265 --> 00:08:52,650 >> IAWN. 191 00:08:52,650 --> 00:08:57,000 Felly, cyn i ni ddechrau ar cwpl o'r problemau ymarferol, 192 00:08:57,000 --> 00:09:00,540 Im 'jyst yn mynd i fynd dros Awgrymiadau defnyddiol Andy gyfer llwyddiant. 193 00:09:00,540 --> 00:09:04,140 Rydych guys, pan fyddwch yn astudio, chi wir yn yn awyddus i ymarfer ysgrifennu cod â llaw. 194 00:09:04,140 --> 00:09:07,050 Y tro cyntaf i mi erioed Cymerodd cwis CS, nid oedd gen 195 00:09:07,050 --> 00:09:09,960 cod ymarfer ysgrifennu â llaw cyn ac roedd yn hynod 196 00:09:09,960 --> 00:09:11,890 syfrdanol pa mor anodd oedd hi. 197 00:09:11,890 --> 00:09:16,125 >> Pan nad ydych guys yn mynd i mewn i'r arfer o deipio allan bopeth, 198 00:09:16,125 --> 00:09:20,260 mae'n dod yn naturiol iawn yn gallu wedi autocompleted 199 00:09:20,260 --> 00:09:22,015 cromfachau a hanner colon yno. 200 00:09:22,015 --> 00:09:23,890 Pan fyddwch yn ysgrifennu 'ii maes â llaw, weithiau mae'n 201 00:09:23,890 --> 00:09:27,100 iawn, yn hawdd iawn i anghofio hanner colon, neu yn anghofio i gau braced, 202 00:09:27,100 --> 00:09:30,970 neu yn anghofio i gau colon, neu rywbeth fel 'na. 203 00:09:30,970 --> 00:09:34,322 >> Felly, pan fyddwch yn ysgrifennu cod â llaw, mae'n deimlad gwahanol iawn. 204 00:09:34,322 --> 00:09:37,280 Felly rydych guys, pan fyddwch yn gweithio drwy rai o'r problemau ymarfer, 205 00:09:37,280 --> 00:09:38,904 byddai'n da i ymarfer 'n sylweddol heddiw. 206 00:09:38,904 --> 00:09:41,770 Neu yfory, am wn i, os ydych yn gymryd y cwis ar ddydd Iau. 207 00:09:41,770 --> 00:09:45,280 >> Yn ail, mae gennym yr olaf, fel, werth wyth mlynedd o ymarfer 208 00:09:45,280 --> 00:09:47,070 cwisiau ar-lein. 209 00:09:47,070 --> 00:09:50,759 Mae'n debyg y bydd cwis eleni fydd iawn, yn debyg iawn i bob un ohonynt. 210 00:09:50,759 --> 00:09:51,800 Maen nhw i gyd yn debyg iawn. 211 00:09:51,800 --> 00:09:54,220 Rydych yn fath o fynd i mewn i'r arddull y math o gwestiynau 212 00:09:54,220 --> 00:09:57,250 ein bod yn gofyn, y math o swyddogaethau y byddwn yn ysgrifennu i mewn, 213 00:09:57,250 --> 00:09:58,580 et cetera, et cetera. 214 00:09:58,580 --> 00:10:01,980 >> Felly, yn cymryd cwisiau ymarfer, yn enwedig o dan gyfyngiadau amser. 215 00:10:01,980 --> 00:10:05,390 75 munud i wneud y cwis yn Nid yw llawer o faint o amser. 216 00:10:05,390 --> 00:10:07,254 Mae'n iawn, hir iawn. 217 00:10:07,254 --> 00:10:09,670 Ac felly rydych guys 'n sylweddol angen i wneud yn siŵr eich bod guys yn 218 00:10:09,670 --> 00:10:11,990 yn yr arfer o ysgrifennu Cod â llaw yn gyflym. 219 00:10:11,990 --> 00:10:15,070 Oherwydd nad ydych am y tro cyntaf amser i weld cwis o'r darn hwnnw 220 00:10:15,070 --> 00:10:16,560 fod ar eich cwis. 221 00:10:16,560 --> 00:10:20,540 Rydych guys 'n sylweddol am wneud yn siŵr eich bod yn ymarfer ymlaen llaw. 222 00:10:20,540 --> 00:10:24,550 >> Yn bedwerydd, yr ydych am i adolygu'r darlith ac adran sleidiau. 223 00:10:24,550 --> 00:10:25,980 Nid oes rhaid i chi gofio pethau. 224 00:10:25,980 --> 00:10:30,430 A dweud y gwir, mae pawb yn cael ei ganiatáu yn un ddalen o nodiadau papur gwyn, 225 00:10:30,430 --> 00:10:31,090 blaen a'r cefn. 226 00:10:31,090 --> 00:10:32,920 Gallwch chi guys deipio neu ysgrifennu. 227 00:10:32,920 --> 00:10:37,070 Os byddwch yn cael eich hun angen i gofio unrhyw beth, roi i lawr ar y daflen. 228 00:10:37,070 --> 00:10:40,810 >> Yr wyf yn gwarantu i chi, nad ydych am i yn cael ei sownd yng nghanol y cwis 229 00:10:40,810 --> 00:10:43,890 yn debyg, o ie, beth yw'r Rhedeg o'r math hwn yn erbyn y fath. 230 00:10:43,890 --> 00:10:46,490 Dim ond yn ei roi i lawr a'i gopïo yn syth oddi wrth eich taflen nodiadau. 231 00:10:46,490 --> 00:10:50,420 Yna, alli 'n weithredol yn unig yn defnyddio eich ymennydd i feddwl am y problemau 232 00:10:50,420 --> 00:10:52,190 yn hytrach na gorfod cofio ffeithiau. 233 00:10:52,190 --> 00:10:55,250 Ac felly 'n sylweddol yn manteisio am unrhyw fanylion niche 234 00:10:55,250 --> 00:11:00,140 eich bod yn meddwl mae angen i chi gofio, sw n plopian i lawr ar y daflen adolygu. 235 00:11:00,140 --> 00:11:02,680 >> OK, unrhyw gwestiynau yn logistaidd ynghylch y cwis 236 00:11:02,680 --> 00:11:05,510 cyn i ni ddechrau rhai problemau cwis ymarfer? 237 00:11:05,510 --> 00:11:06,416 Yeah? 238 00:11:06,416 --> 00:11:10,040 >> GYNULLEIDFA: Nid wyf wedi cael cyfle i edrych ar y cwis [Anghlywadwy] 239 00:11:10,040 --> 00:11:11,757 ond a yw'n mynd i fod yn cais gan mwyaf, 240 00:11:11,757 --> 00:11:14,090 neu hefyd fod yn mynd i fod, fel, cwestiynau gwybodaeth? 241 00:11:14,090 --> 00:11:14,940 >> ATHRO: Mae'n llawer. 242 00:11:14,940 --> 00:11:16,731 Felly, y ffordd yr wyf yn Byddai Disgrifiodd y cwis 243 00:11:16,731 --> 00:11:18,810 yw-- Rwy'n rhoi at ei gilydd rhai problemau ymarferol 244 00:11:18,810 --> 00:11:20,960 fy mod yn tynnu o'r holl cwisiau. 245 00:11:20,960 --> 00:11:25,210 Ond byddwch yn gweld bod yna ddau brif mathau o gwestiynau byddwn yn gofyn i chi. 246 00:11:25,210 --> 00:11:28,750 >> Mae un yn manylu ar lefel isel iawn o bethau. 247 00:11:28,750 --> 00:11:31,720 Byddwn yn rhoi darn bach o god i chi a dweud, a oes gwall yma? 248 00:11:31,720 --> 00:11:33,110 Beth fyddai'n cael ei argraffu yma? 249 00:11:33,110 --> 00:11:35,980 Beth fydd y cod hwn yn cynhyrchu, et cetera. 250 00:11:35,980 --> 00:11:38,710 Felly Manylion wybodaeth ar lefel isel iawn. 251 00:11:38,710 --> 00:11:42,700 >> Ac ar yr ochr arall y geiniog, bydd gennym iawn Cwestiynau seiliedig ar wybodaeth lefel uchel. 252 00:11:42,700 --> 00:11:45,190 Allwch chi esbonio beth mae'r gwahaniaeth rhwng chwiliad deuaidd 253 00:11:45,190 --> 00:11:46,148 ac chwiliad llinol yw? 254 00:11:46,148 --> 00:11:48,500 Pam y byddai rydym am defnyddiwch un dros y llall? 255 00:11:48,500 --> 00:11:49,960 Efallai, beth yw GDB? 256 00:11:49,960 --> 00:11:51,560 Pam rydym eisiau ei ddefnyddio GDB? 257 00:11:51,560 --> 00:11:54,590 Lefel uwch, yn fwy sylfaenol Cwestiynau dealltwriaeth. 258 00:11:54,590 --> 00:11:58,240 Felly, byddwch yn gweld cymysgedd o y ddau ohonynt ar eich cwis. 259 00:11:58,240 --> 00:12:01,462 >> Unrhyw beth arall cyn i ni mynd yn syth i mewn iddo? 260 00:12:01,462 --> 00:12:02,879 IAWN. 261 00:12:02,879 --> 00:12:03,670 GYNULLEIDFA: Un mwy. 262 00:12:03,670 --> 00:12:04,030 ATHRO: O, un yn fwy. 263 00:12:04,030 --> 00:12:04,340 Mae'n ddrwg gennym. 264 00:12:04,340 --> 00:12:05,631 >> GYNULLEIDFA: Yeah, 'i' i gyd yn iawn. 265 00:12:05,631 --> 00:12:10,140 Felly rydych yn ei ddweud 75 munud yn rhy fyr, fel ei bod yn annhebygol 266 00:12:10,140 --> 00:12:11,640 y byddwn yn gorffen? 267 00:12:11,640 --> 00:12:13,571 Neu, fel, 75 munud yn union cymaint o amser 268 00:12:13,571 --> 00:12:15,700 gan y byddai angen i ni pe baem yn paratoi'n briodol? 269 00:12:15,700 --> 00:12:17,450 ATHRO: OK, felly mae'r cwis yn heriol. 270 00:12:17,450 --> 00:12:19,550 Mae'n sicr yn heriol. 271 00:12:19,550 --> 00:12:21,092 Byddwch yn cael eich hun yn fyr ar amser. 272 00:12:21,092 --> 00:12:24,341 Mae'n debyg y byddwch chi'n mynd i daro, fel 10, 15 munud i fynd, a bod fel, cachu. 273 00:12:24,341 --> 00:12:25,520 Rwyf wedi gadael gymaint i'w wneud. 274 00:12:25,520 --> 00:12:26,520 A dyna gwbl iawn. 275 00:12:26,520 --> 00:12:28,740 Mae pawb yn mynd i deimlo yr un ffordd. 276 00:12:28,740 --> 00:12:31,074 >> Dim ond fod yn ymwybodol iawn o faint o amser sydd gennych. 277 00:12:31,074 --> 00:12:33,490 Ac felly dyna pam yr wyf yn dweud wrthych guys gwneud y cwisiau ymarfer. 278 00:12:33,490 --> 00:12:36,672 Oherwydd ei fod yn wir yn rhoi ymdeimlad gwych o'r hyn y mae'r cwis yn mynd i fod fel. 279 00:12:36,672 --> 00:12:39,130 Felly, os ydych yn cael eich hun yn gallu gorffen y practis 280 00:12:39,130 --> 00:12:41,671 cwisiau mewn swm da o amser, gallwch cyflymder eich hun yn dda, 281 00:12:41,671 --> 00:12:45,695 yna ni fydd gennych broblem ar ddydd Mercher neu ddydd Iau. 282 00:12:45,695 --> 00:12:46,575 >> Cool. 283 00:12:46,575 --> 00:12:49,200 Felly os yw pawb wants-- wyf yn meddwl rhan fwyaf o bobl dalen o bapur 284 00:12:49,200 --> 00:12:49,810 allan yn barod. 285 00:12:49,810 --> 00:12:52,604 Rydw i'n mynd i yn y bôn yn unig rhoi cwestiynau enghreifftiol i chi, 286 00:12:52,604 --> 00:12:54,520 rhoi guys, chi'n hoffi, mae ychydig o funudau i wneud iddyn nhw. 287 00:12:54,520 --> 00:12:59,610 A byddwn yn mynd dros fel dosbarth yr hyn y mae'r atebion iddynt yn cael eu. 288 00:12:59,610 --> 00:13:02,860 >> Felly, mae hwn yn nodweddiadol iawn Cwestiwn cynnar yr ydym chi helpu 289 00:13:02,860 --> 00:13:06,720 yn gofyn i chi, dim ond trosi rhifau rhwng gwahanol ganolfannau. 290 00:13:06,720 --> 00:13:09,070 Deuaidd, wrth i chi guys gallwch galw i gof, yn sylfaen dau. 291 00:13:09,070 --> 00:13:12,470 Degol yw sylfaen 10, neu yr hyn yr ydym fel bodau dynol fel arfer yn dehongli. 292 00:13:12,470 --> 00:13:17,120 Hecsadegol yn sylfaen 16, sydd yn sero drwy naw yn ogystal â A drwy F. 293 00:13:17,120 --> 00:13:19,990 >> Felly mae pedwar rhif rwy'n gofyn i chi guys i drosi yma. 294 00:13:19,990 --> 00:13:23,909 Byddaf yn rhoi i chi yn hoffi, tri i pedwar munud i ystyried sut 295 00:13:23,909 --> 00:13:25,200 byddem yn mynd ati i ddatrys hyn. 296 00:13:25,200 --> 00:13:32,832 297 00:13:32,832 --> 00:13:35,710 >> GYNULLEIDFA: A ydym yn caniatáu cyfrifianellau? 298 00:13:35,710 --> 00:13:37,630 >> ATHRO: Nid ydych fydd Mae angen cyfrifianellau, yeah. 299 00:13:37,630 --> 00:13:42,420 Yr wyf yn meddwl ychwanegiad sylfaenol, yr wyf yn meddwl, yn gofynnir i chi guys i gyd ei wneud. 300 00:13:42,420 --> 00:14:41,700 301 00:14:41,700 --> 00:14:45,070 >> Ac yn union fel yr wyf yn fath o gael synnwyr o pan fydd pawb yn cael ei wneud, yn edrych i fyny, 302 00:14:45,070 --> 00:14:47,429 tonnau, nid wyf yn gwybod, gwenu, yn edrych yn hapus os ydych yn ei wneud. 303 00:14:47,429 --> 00:14:47,929 Yeah. 304 00:14:47,929 --> 00:17:21,680 305 00:17:21,680 --> 00:17:23,945 Efallai ychydig mwy o funudau. 306 00:17:23,945 --> 00:18:28,080 307 00:18:28,080 --> 00:18:29,600 >> OK, gadewch i ni ddod ag ef i mewn. 308 00:18:29,600 --> 00:18:31,580 Rydw i'n mynd i purposely rhoi guys i chi llai o amser 309 00:18:31,580 --> 00:18:33,760 nag angen i chi yn ôl pob tebyg gwneud rhai o'r problemau hyn, 310 00:18:33,760 --> 00:18:37,124 dim ond oherwydd fy mod eisiau gwneud yn siŵr bod gawn drwy bwnsied o broblemau. 311 00:18:37,124 --> 00:18:39,290 Felly dim pryderon, os na wnaethoch chi yn cael cyfle i orffen. 312 00:18:39,290 --> 00:18:43,770 Hollol iawn cyn belled â bod gennych syniad o sut i wneud hyn. 313 00:18:43,770 --> 00:18:45,850 Felly gadewch i ni fynd yn ei flaen ac yn gwneud yr un cyntaf. 314 00:18:45,850 --> 00:18:52,690 315 00:18:52,690 --> 00:18:57,870 >> Felly yn gyntaf, a oes unrhyw un yn awyddus i ddweud wrthyf yn deuaidd, beth pob un o'r digidau hyn 316 00:18:57,870 --> 00:19:00,484 gynrychioli o ran eu gwerthoedd? 317 00:19:00,484 --> 00:19:01,250 Yeah? 318 00:19:01,250 --> 00:19:03,349 >> GYNULLEIDFA: Dwy i'r pŵer sero, dau i un. 319 00:19:03,349 --> 00:19:04,140 ATHRO: Yn union. 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 >> Iawn, felly fel arfer pan fyddwn ni'n yn y sylfaen 10 323 00:19:16,430 --> 00:19:20,580 mae'r rhain i gyd yn cael eu cynrychioli, fel, 10 i waelod sero, dde? 324 00:19:20,580 --> 00:19:21,810 Dyna lle eich un i. 325 00:19:21,810 --> 00:19:24,520 Mae pob eich lle 10 yn ei 10 i bŵer un. 326 00:19:24,520 --> 00:19:26,600 Lle yr ydych 100 yw 10 at y pŵer o ddau. 327 00:19:26,600 --> 00:19:29,570 >> Beth bynnag sylfaen ydych chi mewn yn mynd i'w wneud â'r un peth yn union, 328 00:19:29,570 --> 00:19:31,480 dim ond gyda sylfaen gwahanol. 329 00:19:31,480 --> 00:19:34,130 Felly deuaidd, cyfan sydd yn sylfaen dau. 330 00:19:34,130 --> 00:19:37,110 Rydych yn mynd i droi'r cyfan y digidau yn ddau i ba bynnag pŵer 331 00:19:37,110 --> 00:19:38,190 o hynny digid. 332 00:19:38,190 --> 00:19:41,450 Ac felly yn yr ystyr hwn, rydym yn Gall gael ffordd haws 333 00:19:41,450 --> 00:19:43,800 o fod yn gallu adio neu grynhoi'r holl rhifau yn eu trefn 334 00:19:43,800 --> 00:19:46,010 i drosi i mewn i ganolfan 10. 335 00:19:46,010 --> 00:19:50,362 >> Felly oes unrhyw un yn awyddus i ddweud wrthyf beth mae'r ateb i'r un cyntaf yn yn y sylfaen deg? 336 00:19:50,362 --> 00:19:51,674 >> GYNULLEIDFA: Dau, [Anghlywadwy] 337 00:19:51,674 --> 00:19:52,340 ATHRO: Yeah. 338 00:19:52,340 --> 00:19:53,230 GYNULLEIDFA: 42. 339 00:19:53,230 --> 00:19:56,560 ATHRO: 42, dyna ni. 340 00:19:56,560 --> 00:20:00,660 Felly, y ffordd yr ydym yn cael yr ateb hwn oedd drwy gwneud dau y cyntaf, sef dau. 341 00:20:00,660 --> 00:20:02,760 A dau y trydydd, sef wyth. 342 00:20:02,760 --> 00:20:07,590 A dau i'r pumed, a oedd yn yw beth bynnag sy'n weddill. 343 00:20:07,590 --> 00:20:09,390 Rydych yn crynhoi i fyny ac mae'n 42. 344 00:20:09,390 --> 00:20:12,000 >> A oes unrhyw un yn ddryslyd ynghylch sut y cawsom hynny? 345 00:20:12,000 --> 00:20:15,630 Hefyd Felly sylfaenol, fel Dywedais, dylech fod yn iawn. 346 00:20:15,630 --> 00:20:17,410 Os nad yw, yn dda, gallwn ymarfer hynny hefyd. 347 00:20:17,410 --> 00:20:18,720 Ond dyna i gyd yn iawn. 348 00:20:18,720 --> 00:20:20,560 Cool. 349 00:20:20,560 --> 00:20:25,570 >> A oes unrhyw un eisiau rhoi 'm' r ateb i'r ail un hefyd? 350 00:20:25,570 --> 00:20:26,860 >> 50? 351 00:20:26,860 --> 00:20:27,600 Da. 352 00:20:27,600 --> 00:20:30,044 Dylai unrhyw un dryslyd ar sut rydym yn cael bod naill ai? 353 00:20:30,044 --> 00:20:31,960 Cool, 'n annhymerus' yn cael y atebion ar y sleid nesaf. 354 00:20:31,960 --> 00:20:34,440 Felly dim pryderon os ydych yn Mae angen i copi i lawr. 355 00:20:34,440 --> 00:20:38,860 >> Iawn, felly hecsadegol yn ychydig yn fwy anodd. 356 00:20:38,860 --> 00:20:41,840 ond rwy'n mynd i ddangos i chi guys a shortcut ar gyfer sut i wneud hynny. 357 00:20:41,840 --> 00:20:44,800 Felly hecsadegol, wrth i chi cofiwch, pob mae'n fod yn 16. 358 00:20:44,800 --> 00:20:48,920 Ac am ein bod am nad pobl yn ei wneud mewn gwirionedd rhaid i 16 rhifau i gynrychioli'r hynny, 359 00:20:48,920 --> 00:20:56,940 rydym yn mynd o sero i naw, mae ein cyntaf 10 werthoedd, ac yna rydym yn ei wneud A drwy F, 360 00:20:56,940 --> 00:20:58,630 sef y chwe gwerth nesaf. 361 00:20:58,630 --> 00:21:03,040 >> Ac felly y ffordd hawsaf i fynd o unrhyw rif deuaidd i hecsadegol 362 00:21:03,040 --> 00:21:05,350 yw i'w torri i fyny i mewn hanner. 363 00:21:05,350 --> 00:21:10,042 Ac felly unrhyw rif deuaidd byddwn yn rhoi mae'n debyg y byddwch yn cael wyth digid. 364 00:21:10,042 --> 00:21:11,750 Alli jyst dorri nhw i fyny yn y canol. 365 00:21:11,750 --> 00:21:17,460 >> Felly, y cyntaf one-- un un, un un, un, un, un un. 366 00:21:17,460 --> 00:21:21,340 Math o feddwl i fyny, eich bod yn gwybod, yn tynnu slaes neu atalnod yn y rhyngddynt. 367 00:21:21,340 --> 00:21:23,800 A allwch chi jyst drosi yn uniongyrchol beth bynnag 368 00:21:23,800 --> 00:21:26,670 mae hyn yn gyfeiriad at y cyntaf nifer y hecsadegol, 369 00:21:26,670 --> 00:21:29,880 a beth bynnag yma yw yr ail o hecsadegol. 370 00:21:29,880 --> 00:21:37,584 >> Felly cofiwch o nodiant cyffredin, beth yw gwerthoedd hecsadegol dechrau gyda? 371 00:21:37,584 --> 00:21:38,460 >> GYNULLEIDFA: Zero. 372 00:21:38,460 --> 00:21:39,270 >> ATHRO: 0x. 373 00:21:39,270 --> 00:21:45,210 Felly, rydym yn gwybod bod unrhyw tro y byddwn yn gofyn i chi i drosi unrhyw rif i hecsadegol, 374 00:21:45,210 --> 00:21:48,230 neu unrhyw tro y byddwch yn gweld unrhyw rhif sy'n dechrau gyda 0x, 375 00:21:48,230 --> 00:21:50,230 eich bod yn gwybod ei fod yn werth hecsadegol. 376 00:21:50,230 --> 00:21:54,160 >> Ac yna rydych yn mynd i gael gwahoddiad i penderfynu beth yw'r rhain ddau ddigid yn cael eu. 377 00:21:54,160 --> 00:21:59,690 A'r ffordd yr ydych yn gwneud hynny, marciau rhifo i fyny fod hanner a marciau rhifo i fyny bod hanner. 378 00:21:59,690 --> 00:22:02,870 Felly, yn yr enghraifft hon, beth Byddai un, un, un, un fod? 379 00:22:02,870 --> 00:22:04,890 Pa werth a fyddai'n cael ei? 380 00:22:04,890 --> 00:22:06,040 Id hynny fod F, dde? 381 00:22:06,040 --> 00:22:08,050 Id hynny fod 15. 382 00:22:08,050 --> 00:22:11,780 >> Felly byddai hyn yn F. One, un, un, un yma hefyd 383 00:22:11,780 --> 00:22:21,270 F. Felly, un, un, un, un, un, un, un, un ym hecsadegol, pob mae'n yw 0 xFF. 384 00:22:21,270 --> 00:22:25,350 Gan fod hanner roedd hyn yn cynrychioli F, mae'r gwerth 15, 385 00:22:25,350 --> 00:22:27,331 a hanner roedd hyn yn cynrychioli F, mae'r gwerth 15. 386 00:22:27,331 --> 00:22:29,456 Oherwydd cofiwch, rydym yn cyfrif o sero i naw. 387 00:22:29,456 --> 00:22:35,290 A yn debyg 10, B yn debyg 11, F yw 15. 388 00:22:35,290 --> 00:22:41,690 >> A yw hynny'n gwneud synnwyr i bawb sut gawsom gan deuaidd i hecsadegol? 389 00:22:41,690 --> 00:22:44,595 >> GYNULLEIDFA: Ac felly sut oedd ein bod yn cael 15 o'r un, un, un, un? 390 00:22:44,595 --> 00:22:46,220 ATHRO: Yeah, mae hyn yn deuaidd, dde? 391 00:22:46,220 --> 00:22:48,090 Dychmygwch hyn yn unig yw rhif deuaidd. 392 00:22:48,090 --> 00:22:50,792 Felly, mae gennych ddau i'r 0, sydd yn un. 393 00:22:50,792 --> 00:22:51,500 GYNULLEIDFA: O, OK. 394 00:22:51,500 --> 00:22:51,670 Felly rydych jyst cyfanswm 'ii maes. 395 00:22:51,670 --> 00:22:52,670 >> ATHRO: Yeah, ac yna 'ch jyst cyfanswm y allan. 396 00:22:52,670 --> 00:22:53,380 Dyna i gyd y mae. 397 00:22:53,380 --> 00:22:54,890 >> GYNULLEIDFA: OK. 398 00:22:54,890 --> 00:22:55,830 >> ATHRO: OK. 399 00:22:55,830 --> 00:23:00,740 >> GYNULLEIDFA: Felly, byddwch yn mynd o deuaidd i degol i'r hecsadegol? 400 00:23:00,740 --> 00:23:04,590 >> ATHRO: Dyna y ffordd hawsaf o wneud hynny, yeah. 401 00:23:04,590 --> 00:23:11,390 Nid ydych yn mynd i degol oherwydd yn unig y mae degol sero i naw. 402 00:23:11,390 --> 00:23:13,410 Rydym yn unig fath o rannu hyn i fyny yn ddwy. 403 00:23:13,410 --> 00:23:15,201 >> GYNULLEIDFA: [Anghlywadwy] gan ddefnyddio degol i ddod o hyd 404 00:23:15,201 --> 00:23:17,809 yr hyn y mae'n cyd-fynd hyd at yn hecsadegol. 405 00:23:17,809 --> 00:23:20,100 ATHRO: Yr wyf yn golygu, rydych yn marciau rhifo i fyny gan ddefnyddio mathemateg sylfaenol. 406 00:23:20,100 --> 00:23:20,725 GYNULLEIDFA: Yeah. 407 00:23:20,725 --> 00:23:22,300 ATHRO: Yeah, 'n bert lawer. 408 00:23:22,300 --> 00:23:23,630 Mae braidd yn ddryslyd. 409 00:23:23,630 --> 00:23:26,410 Ond dim ond yn gwybod eich bod chi Gall rhannu'r beth bynnag 410 00:23:26,410 --> 00:23:28,160 gwerth hwn i mewn dim ond hanner. 411 00:23:28,160 --> 00:23:29,570 Edrychwch, beth yw hyn yn deuaidd? 412 00:23:29,570 --> 00:23:30,610 Pa rif yw hynny? 413 00:23:30,610 --> 00:23:33,270 Mae'n mynd i fod yn rhywbeth o sero i F. 414 00:23:33,270 --> 00:23:35,722 >> Yma hefyd yn mynd i fod rhywbeth o sero i F. 415 00:23:35,722 --> 00:23:37,722 Ac yna gallwch roi dau y rhai iawn yno. 416 00:23:37,722 --> 00:23:38,263 >> GYNULLEIDFA: OK. 417 00:23:38,263 --> 00:23:38,910 ATHRO: Yep. 418 00:23:38,910 --> 00:23:39,410 IAWN. 419 00:23:39,410 --> 00:23:42,320 Felly rydych guys eisiau roi cynnig ar yr un nesaf felly? 420 00:23:42,320 --> 00:23:49,601 Zero, un, sero un, un, sero, un sero. 421 00:23:49,601 --> 00:23:52,350 'N annhymerus' yn rhoi guys ydych yn hoffi 30 eiliad, ers i chi nid yn ôl pob tebyg yn gwybod 422 00:23:52,350 --> 00:23:53,850 y tric i sut i wneud hyn yn gynharach. 423 00:23:53,850 --> 00:24:24,950 424 00:24:24,950 --> 00:24:27,381 >> OK, mae unrhyw un am gael yr un yma yn ergyd? 425 00:24:27,381 --> 00:24:28,774 >> 0X5A. 426 00:24:28,774 --> 00:24:29,440 ATHRO: 0X5A. 427 00:24:29,440 --> 00:24:30,470 5a. 428 00:24:30,470 --> 00:24:31,340 Da. 429 00:24:31,340 --> 00:24:37,050 Felly, mae hyn yma yn be-- chi eisiau i ddweud wrthym sut y cawsoch hynny? 430 00:24:37,050 --> 00:24:38,920 Yn gyntaf, sut wnaethoch chi gael y pum? 431 00:24:38,920 --> 00:24:42,030 >> GYNULLEIDFA: Oherwydd sero, un, sero, un yw pump. 432 00:24:42,030 --> 00:24:45,170 >> ATHRO: Ydy pawb yn deall pam sero, un, sero, un yw pump? 433 00:24:45,170 --> 00:24:46,260 Rydych chi wedi cael un yma. 434 00:24:46,260 --> 00:24:48,010 Oes gennych unrhyw beth mewn dwy i'r cyntaf. 435 00:24:48,010 --> 00:24:50,300 Mewn dwy i'r ail, yr ydych gennych un, sef pedwar. 436 00:24:50,300 --> 00:24:52,600 Felly byddwch yn ychwanegu y pedwar a mwy yr un, mae gennych bump. 437 00:24:52,600 --> 00:24:53,600 Mae pawb yn dda? 438 00:24:53,600 --> 00:24:54,100 IAWN. 439 00:24:54,100 --> 00:24:56,570 Ac yna beth mae hyn a pham? 440 00:24:56,570 --> 00:24:58,350 Pa rif mae A yn cyfateb i? 441 00:24:58,350 --> 00:24:59,350 >> GYNULLEIDFA: 10. 442 00:24:59,350 --> 00:25:00,976 >> ATHRO: A beth mae hyn yn y sylfaen dau? 443 00:25:00,976 --> 00:25:01,850 GYNULLEIDFA: [Anghlywadwy] 444 00:25:01,850 --> 00:25:03,010 ATHRO: Yn union. 445 00:25:03,010 --> 00:25:06,370 Felly byddai hyn yn ail gwerth yma fod yn 0X5A. 446 00:25:06,370 --> 00:25:08,410 >> Mae pawb da ar sut i drosi? 447 00:25:08,410 --> 00:25:10,770 Mae'n llawer symlach nag yr ydych yn meddwl ei fod yn. 448 00:25:10,770 --> 00:25:13,330 Fi jyst eisiau gwneud yn siwr eich bod yn gwybod awgrymiadau defnyddiol 449 00:25:13,330 --> 00:25:14,950 a driciau am sut i wneud hynny. 450 00:25:14,950 --> 00:25:18,432 >> GYNULLEIDFA: Pam gallwch rannu ef yn y canol fel 'na? 451 00:25:18,432 --> 00:25:21,390 Dim ond fod yn debyg, OK, dw i'n unig yn mynd i yn gofalu am y rhain cyntaf [Anghlywadwy]? 452 00:25:21,390 --> 00:25:24,240 >> ATHRO: Oherwydd dyna mewn gwirionedd y ffordd y gwerthoedd hecsadegol yn cael eu cynrychioli. 453 00:25:24,240 --> 00:25:26,890 0x, mae hynny'n golygu mewn gwirionedd dim byd mwy nag ddweud wrthych 454 00:25:26,890 --> 00:25:28,710 ei fod yn rhif hecsadegol. 455 00:25:28,710 --> 00:25:31,580 Ac mae hyn bob amser yn cynrychioli y pedwar digid cyntaf. 456 00:25:31,580 --> 00:25:34,330 Ac mae hyn bob amser yn cynrychioli y pedwar digid olaf. 457 00:25:34,330 --> 00:25:37,835 Ac felly y ddau ddigid unig cyfateb i'r gwahanol ddarnau. 458 00:25:37,835 --> 00:25:39,200 >> GYNULLEIDFA: Felly, byddwn always-- 459 00:25:39,200 --> 00:25:41,830 >> ATHRO: Rydych yn bob amser mynd i gael wyth did gwerth. 460 00:25:41,830 --> 00:25:44,580 >> GYNULLEIDFA: A yw hynny'n union fel yn beth yma neu bod yn beth a lled? 461 00:25:44,580 --> 00:25:46,883 ATHRO: Dyna dim ond beth mewn cyfrifiaduron, yep. 462 00:25:46,883 --> 00:25:47,424 GYNULLEIDFA: OK. 463 00:25:47,424 --> 00:25:48,240 Awesome. 464 00:25:48,240 --> 00:25:51,290 >> ATHRO: Hefyd, felly yn yr enghraifft hon rydym yn trosi o deuaidd i degol, 465 00:25:51,290 --> 00:25:53,290 ac o deuaidd i hecsadegol. 466 00:25:53,290 --> 00:25:56,610 Rydych guys am wneud yn siŵr eich bod hefyd ymarfer mynd y ffordd arall o gwmpas. 467 00:25:56,610 --> 00:26:03,370 Felly os rhoddais chi 0 xFF, gallech tynnu hynny allan yn deuaidd, dde? 468 00:26:03,370 --> 00:26:06,820 >> Byddwch yn newid F i mewn deuaidd, sydd yn un, un, un, un, 469 00:26:06,820 --> 00:26:09,380 trosi F i deuaidd, a oedd yn yn un, un, un, un. 470 00:26:09,380 --> 00:26:11,310 >> Felly efallai y byddwn yn gofyn i chi ei wneud y ffordd arall o gwmpas. 471 00:26:11,310 --> 00:26:14,817 Felly degol i'r deuaidd, neu hecsadegol i deuaidd. 472 00:26:14,817 --> 00:26:16,650 Felly rydych chi am wneud yn siŵr eich bod yn gwybod y ddwy ffordd. 473 00:26:16,650 --> 00:26:19,371 Byddwn yn fwy na thebyg yn gofyn i chi a gyfuniad o'r ddau. 474 00:26:19,371 --> 00:26:20,660 >> Yeah, mae gennych gwestiwn? 475 00:26:20,660 --> 00:26:22,724 Gallaf see-- eich bod yn dda? 476 00:26:22,724 --> 00:26:23,348 GYNULLEIDFA: Yeah. 477 00:26:23,348 --> 00:26:24,560 ATHRO: OK. 478 00:26:24,560 --> 00:26:26,101 Ydw i'n dda i ddileu hyn? 479 00:26:26,101 --> 00:26:26,600 Great. 480 00:26:26,600 --> 00:26:33,965 481 00:26:33,965 --> 00:26:40,437 >> Mae pob hawl, felly atebion yma os oes unrhyw un yn chwilfrydig yn nes ymlaen ac yn drysu. 482 00:26:40,437 --> 00:26:41,844 IAWN. 483 00:26:41,844 --> 00:26:46,070 >> GYNULLEIDFA: Oes ots os ydym yn rhoi ein llythyrau yn Capitol neu llythrennau bach? 484 00:26:46,070 --> 00:26:50,360 >> ATHRO: Mae'n gwneud, oherwydd yn hecsadegol, yn ôl confensiwn, 485 00:26:50,360 --> 00:26:52,840 holl gymeriadau yn cael eu priflythyren. 486 00:26:52,840 --> 00:26:54,650 Felly A drwy F yn mynd i fod yn priflythyren. 487 00:26:54,650 --> 00:26:58,660 Os byddwch yn rhoi llythrennau bach a a, nid wyf yn gwybod os byddem yn o angenrheidrwydd yn nodi yn anghywir. 488 00:26:58,660 --> 00:27:00,679 Ond yn ddamcaniaethol, nid yw hynny'n dechnegol 489 00:27:00,679 --> 00:27:01,970 sut rydych yn fod i gael ei. 490 00:27:01,970 --> 00:27:03,303 Felly, dylent i gyd fod yn priflythyren. 491 00:27:03,303 --> 00:27:05,910 Yeah, cwestiwn da. 492 00:27:05,910 --> 00:27:07,780 >> IAWN. 493 00:27:07,780 --> 00:27:08,790 Ail gwestiwn. 494 00:27:08,790 --> 00:27:12,750 Ystyriwch hyn rhaglen hyfryd yma. 495 00:27:12,750 --> 00:27:15,180 'N annhymerus' yn gofyn y cwestiwn, 'N annhymerus' yn dod yn ôl yma. 496 00:27:15,180 --> 00:27:23,170 >> Felly, yn gyntaf, beth sydd y tu mewn o safon io.h dyna o ddiddordeb i'r rhaglen? 497 00:27:23,170 --> 00:27:26,640 Yn ail, beth mae ddi-rym arwyddo yn unol tri? 498 00:27:26,640 --> 00:27:30,572 Ac yn drydydd, beth mae dychwelyd sero o prif, fel llinell chwech, yn gyffredinol yn arwyddo? 499 00:27:30,572 --> 00:27:33,280 Os ydych guys am ysgrifennu rhai i lawr, gan fod yn rhaid i mi newid yn ôl 500 00:27:33,280 --> 00:27:36,810 at y sleid yn unig fel y gallwch weld cod. 501 00:27:36,810 --> 00:27:40,400 Mae hwn yn enghraifft o, fel, efallai Cwestiwn lefel uwch lle rydym yn gofyn i chi 502 00:27:40,400 --> 00:27:42,435 pa bethau yn ei olygu mewn rhaglen. 503 00:27:42,435 --> 00:27:47,290 504 00:27:47,290 --> 00:27:49,215 >> Mae pawb da i mi fynd yn ôl at y sleid? 505 00:27:49,215 --> 00:27:53,400 506 00:27:53,400 --> 00:27:54,361 OK, oer. 507 00:27:54,361 --> 00:27:57,610 Felly, byddaf yn rhoi guys fel efallai tair chi munud i edrych ar hyn yn un gyflym go iawn. 508 00:27:57,610 --> 00:28:41,330 509 00:28:41,330 --> 00:28:44,140 >> Iawn, felly mae hyn yn un yn hoffi weddol hawdd, yn gysyniadol. 510 00:28:44,140 --> 00:28:49,280 A oes unrhyw un yn awyddus i ddweud wrthyf beth sydd cyntaf y tu ôl hash gynnwys 511 00:28:49,280 --> 00:28:52,630 ein ffeil llyfrgell io.h safonol? 512 00:28:52,630 --> 00:28:55,510 Pam y mae angen y llyfrgell i ni cynnwys ar gyfer y rhaglen hon? 513 00:28:55,510 --> 00:28:56,930 Beth fan hyn mae angen ei ddiben? 514 00:28:56,930 --> 00:28:56,980 >> Yeah? 515 00:28:56,980 --> 00:28:58,340 >> GYNULLEIDFA: Ai dyna pryd byddwch yn rhoi bod printf? 516 00:28:58,340 --> 00:28:59,131 >> ATHRO: Yn union. 517 00:28:59,131 --> 00:29:01,780 Felly printf, unrhyw tro y byddwch yn cymryd mewnbwn gan y defnyddiwr 518 00:29:01,780 --> 00:29:04,140 ac argraffu rhywbeth at y sgrin, dyna 519 00:29:04,140 --> 00:29:05,600 mewnbwn safonol, llyfrgell allbwn. 520 00:29:05,600 --> 00:29:07,170 Feddwl am y peth sy'n way-- mewnbwn, allbwn. 521 00:29:07,170 --> 00:29:08,430 >> A oes gennyf allbwn? 522 00:29:08,430 --> 00:29:09,207 Ydw. 523 00:29:09,207 --> 00:29:12,040 Felly, yr wyf yn gwybod fy mod bob amser i'n mynd i Mae angen y llyfrgell i.o safoni. 524 00:29:12,040 --> 00:29:16,400 >> Felly printf yw swyddogaeth erbyn pryd y mae angen i ni gael mynediad 525 00:29:16,400 --> 00:29:19,370 a hashtag yn cynnwys y llyfrgell i.o safonol. 526 00:29:19,370 --> 00:29:20,280 IAWN. 527 00:29:20,280 --> 00:29:22,660 >> Yn ail, mae'n beth mae ddi-rym yn arwyddo? 528 00:29:22,660 --> 00:29:26,970 Mae gennym y int prif (ddi-rym), beth mae ddi-rym yma yn golygu yma ar y llinell dri? 529 00:29:26,970 --> 00:29:28,080 Yeah, yn y cefn. 530 00:29:28,080 --> 00:29:29,020 >> GYNULLEIDFA: [Anghlywadwy] 531 00:29:29,020 --> 00:29:29,920 >> ATHRO: Yn union. 532 00:29:29,920 --> 00:29:33,320 Felly cofiwch, rydym wedi dysgu gan ddechrau gyda'n pset 533 00:29:33,320 --> 00:29:35,360 eich bod yn gallu mewn gwirionedd pennu llinell orchymyn 534 00:29:35,360 --> 00:29:39,010 dadleuon bod eich rhaglen, eich bod yn prif swyddogaeth, yn cymryd fel chi, y defnyddiwr, 535 00:29:39,010 --> 00:29:39,650 alw. 536 00:29:39,650 --> 00:29:42,650 Os oes gennym ddi-rym, mae hynny'n golygu eich bod yn Gallai dim ond yn rhedeg y rhaglen yn uniongyrchol 537 00:29:42,650 --> 00:29:44,680 heb unrhyw ddadleuon llinell orchymyn. 538 00:29:44,680 --> 00:29:46,160 Mae pawb yn glir ynglŷn â hynny? 539 00:29:46,160 --> 00:29:46,660 IAWN. 540 00:29:46,660 --> 00:29:52,850 >> Ac yn olaf pam yr ydym yn trafferthu gwneud mae hyn yn dychwelyd sero peth yma? 541 00:29:52,850 --> 00:29:54,740 Pam rydym yn hyd yn oed yn cael prif int? 542 00:29:54,740 --> 00:29:57,330 Pam na allwn ni ond cael brif ddi-rym yn ddi-rym? 543 00:29:57,330 --> 00:29:59,216 Yeah? 544 00:29:59,216 --> 00:30:01,590 GYNULLEIDFA: Dim ond fel y gallwn fod yn sicr bod y rhaglen yn 545 00:30:01,590 --> 00:30:04,247 gyffrous yn llwyddiannus, fel y yn gwrthwynebu os oedd rhif. 546 00:30:04,247 --> 00:30:06,580 A byddem yn gwybod bod hynny'n gwahanol fath o gamgymeriad. 547 00:30:06,580 --> 00:30:07,621 >> ATHRO: Yeah, yn union. 548 00:30:07,621 --> 00:30:10,670 Mae hyn yn unig yw iawn beth confensiynol a wnawn, 549 00:30:10,670 --> 00:30:13,840 yw mai dim ond ar ddiwedd y eich rhaglen, dim ond er mwyn gwneud yn siwr 550 00:30:13,840 --> 00:30:15,830 bod eich prif swyddogaeth yn rhedeg yn gywir, 551 00:30:15,830 --> 00:30:17,940 rydym bob amser yn awyddus i wneud elw sero. 552 00:30:17,940 --> 00:30:21,160 Hyd yn oed er efallai y byddwn o reidrwydd Nid yw gweld bod argraffwyd yn unrhyw le. 553 00:30:21,160 --> 00:30:25,092 >> Oherwydd fel rhaglenwyr, chi'n gwybod, os mae gennych lawer o wahanol linellau o god 554 00:30:25,092 --> 00:30:27,050 ac nad ydych yn gwybod ble mae'r rhain yn mynd o'i le, 555 00:30:27,050 --> 00:30:30,240 ac os gwall yn digwydd chi eisiau gwnewch yn siŵr eich bod yn cael y gwall. 556 00:30:30,240 --> 00:30:33,240 Ac felly fel arfer os bydd rhywbeth yn mynd anghywir bydd gennym dychwelyd un yn unig 557 00:30:33,240 --> 00:30:34,669 i wneud yn siŵr ein bod yn gwybod ei fod. 558 00:30:34,669 --> 00:30:36,460 Felly, os ydych yn gweld yn dychwelyd sero, sydd fel arfer 559 00:30:36,460 --> 00:30:38,293 golygu bod eich rhaglen yn ddienyddio yn llwyddiannus. 560 00:30:38,293 --> 00:30:40,490 561 00:30:40,490 --> 00:30:40,990 Da? 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, ail raglen yma. 566 00:30:52,680 --> 00:30:54,827 Ystyried hynny. 567 00:30:54,827 --> 00:30:56,910 Ac os ydych yn guys yn gweld arnofio, gallwch chi guys yn ôl pob tebyg 568 00:30:56,910 --> 00:31:00,810 cael syniad da o'r hyn Rwy'n ar fin gofyn i chi. 569 00:31:00,810 --> 00:31:05,200 >> Felly, pan fydd y rhaglen hon executes, fel y gwelwch, 570 00:31:05,200 --> 00:31:09,330 Yr wyf yn datgan fflôt y tu mewn fy mhrif swyddogaeth. 571 00:31:09,330 --> 00:31:13,470 Im 'yn enwi yn "ateb," a dwi'n gosod hynny gyfartal i un rhannu â 10. 572 00:31:13,470 --> 00:31:17,860 Dw i'n argraffu, i un lle degol, hynny arnofio. 573 00:31:17,860 --> 00:31:19,880 Ac yna i ddim yn dychwelyd sero. 574 00:31:19,880 --> 00:31:24,470 >> Felly, pan fydd gweithredu'r rhaglen, meddwl yn ôl i'r barus yn awr, 575 00:31:24,470 --> 00:31:26,550 rhaglen hon printiau 0.0. 576 00:31:26,550 --> 00:31:29,993 Fel yr ydym i gyd yn gwybod, gobeithio ein bod i gyd yn gwybod, un wedi'i rannu gan 10 Nid yw 0.00, 577 00:31:29,993 --> 00:31:32,350 'i' 0.1. 578 00:31:32,350 --> 00:31:37,810 Ond eglurwch pam mae'r rhaglen hon yn meddwl bod 1 rannu gan 10 o brintiau i 0.1 eraill 579 00:31:37,810 --> 00:31:39,504 na 0.1? 580 00:31:39,504 --> 00:31:42,545 Byddaf yn rhoi i chi guys efallai hoffi 30 eiliad i feddwl dim ond yn gyflym am hynny 581 00:31:42,545 --> 00:31:43,878 a byddaf yn mynd yn ôl at y rhaglen. 582 00:31:43,878 --> 00:32:17,800 583 00:32:17,800 --> 00:32:20,290 >> IAWN. 584 00:32:20,290 --> 00:32:22,205 Dylai unrhyw un sydd yn awyddus i roi ergyd? 585 00:32:22,205 --> 00:32:24,330 Yn tair brawddeg neu lai, oherwydd fel arfer rydym yn 586 00:32:24,330 --> 00:32:27,650 mynd i gyfyngu ar yr holl atebion i dair brawddeg neu lai 587 00:32:27,650 --> 00:32:31,130 fel nad ydych yn unig regurgitate pethau ar hap ar eich cwis. 588 00:32:31,130 --> 00:32:32,740 >> Yeah, yn cymryd ergyd. 589 00:32:32,740 --> 00:32:36,390 >> GYNULLEIDFA: Felly, yr wyf yn meddwl bod hyn yn beth a elwir, fel, [Anghlywadwy] 590 00:32:36,390 --> 00:32:42,320 Felly gallai fod, er enghraifft, gallai fod, fel, 0.09, 591 00:32:42,320 --> 00:32:47,250 bod lle rydych yn argraffu'r cyntaf digid, fyddai hi i 0.0? 592 00:32:47,250 --> 00:32:49,100 >> ATHRO: Close, ddim yn hollol. 593 00:32:49,100 --> 00:32:49,810 Christabell? 594 00:32:49,810 --> 00:32:51,770 >> GYNULLEIDFA: Rydych chi'n rhannu un a 10, ac mae'r ddau yn gyfanrifau. 595 00:32:51,770 --> 00:32:54,610 Ac felly y ffordd y mae'n mynd i storio ei fod fel cyfanrif. 596 00:32:54,610 --> 00:32:56,480 Ac felly byddai'r cyfanrif agosaf yn 0.0. 597 00:32:56,480 --> 00:32:57,471 Ac felly dyna 0.1. 598 00:32:57,471 --> 00:32:58,970 ATHRO: Yeah, mae hynny'n dda iawn. 599 00:32:58,970 --> 00:33:00,040 Dyna yr ateb cywir. 600 00:33:00,040 --> 00:33:03,597 Felly, mae hwn yn ddryslyd iawn cysyniad ar gyfer llawer o blant. 601 00:33:03,597 --> 00:33:06,680 Ac yr wyf wir eisiau gwneud yn siŵr bod mae hyn yn cael ei atgyfnerthu yn ben pawb. 602 00:33:06,680 --> 00:33:10,090 >> Felly, yr hyn yr ydym yn galw fel y bo'r angen imprecision pwynt, 603 00:33:10,090 --> 00:33:12,800 lle y rheswm pam mae llawer o'ch rhaglenni yn farus 604 00:33:12,800 --> 00:33:17,010 nid oedd yn gweithio i ddechrau oedd oherwydd ydych wedi anghofio i gyflwyno dy amrywiol. 605 00:33:17,010 --> 00:33:19,370 Felly, yr hyn a ddywedodd Christabell yn gwbl gywir. 606 00:33:19,370 --> 00:33:21,990 >> Mae fflôt yn ei hanfod yn amwys. 607 00:33:21,990 --> 00:33:26,400 Oherwydd yn cyfrifiadur, ar y dde, rydym wedi swm cyfyngedig o ddarnau o gof 608 00:33:26,400 --> 00:33:28,480 gallwn ei ddefnyddio i gynrychioli rhifau. 609 00:33:28,480 --> 00:33:33,480 Felly, er enghraifft, CS50 hwn ID yw-- Rwy'n credu ei fod 64-bit cyfrifiadur. 610 00:33:33,480 --> 00:33:37,520 >> Gall fflôt ond yn cael ei gynrychioli gan swm cyfyngedig o ddarnau hynny. 611 00:33:37,520 --> 00:33:42,260 Ac felly 0.1 gyda zeros ddiddiwedd, hynny oedd 0.1 yw, dde? 612 00:33:42,260 --> 00:33:45,450 Ond ni allwn storio mewn gwirionedd y rhif hwnnw yn ein cyfrifiadur. 613 00:33:45,450 --> 00:33:47,810 Rydym nid yn unig yn cael digon o gof i wneud hynny. 614 00:33:47,810 --> 00:33:52,340 >> Ac felly y brasamcan agosaf beth sy'n cael ei storio yn y cof mewn gwirionedd 615 00:33:52,340 --> 00:33:55,390 rhywbeth fel rhywbeth 0.000, rhywbeth, rhywbeth, rhywbeth. 616 00:33:55,390 --> 00:34:01,240 Pa rai, unwaith y byddwch blaendorri iddo, rowndiau i lawr i 0.0. 617 00:34:01,240 --> 00:34:05,640 >> Ac felly yr enghraifft hon yn un sy'n dangos llawer o faterion 618 00:34:05,640 --> 00:34:08,469 mae gennym pryd bynnag y byddwn ni'n ceisio gwneud mathemateg yn anghywir 619 00:34:08,469 --> 00:34:11,000 heb castio fel cyfanrif gwahanol. 620 00:34:11,000 --> 00:34:14,870 Felly, dim ond fod yn wyliadwrus o hyn yn digwydd. 621 00:34:14,870 --> 00:34:18,239 >> Ar cwisiau, os byddwn yn rhoi i chi yn bloc o cod ac mae fel, 622 00:34:18,239 --> 00:34:19,510 beth printiau allan ar y diwedd? 623 00:34:19,510 --> 00:34:24,096 Ac os yw'n rhywfaint o werth ar hap i chi Dylai guys yn gwybod pam mae hynny'n digwydd. 624 00:34:24,096 --> 00:34:24,909 Yeah? 625 00:34:24,909 --> 00:34:27,926 >> GYNULLEIDFA: blaendorri yn cael gwared ar popeth ar ôl pwynt penodol? 626 00:34:27,926 --> 00:34:28,513 [Anghlywadwy] 627 00:34:28,513 --> 00:34:30,929 ATHRO: Yeah, felly mewn gwirionedd mae hyn yn enghraifft drwg iawn, 628 00:34:30,929 --> 00:34:37,870 oherwydd 0.100 beth bynnag mewn gwirionedd Byddai blaendorri lawr i 0.1. 629 00:34:37,870 --> 00:34:41,389 Ond os ydych yn rhedeg iddo-- Nid wyf yn ei wneud cofiwch, gan fod y llynedd eu bod yn 630 00:34:41,389 --> 00:34:42,830 rhedeg ar raglen wahanol. 631 00:34:42,830 --> 00:34:45,300 Maent yn rhedeg yn rhywbeth o'r enw y Appliance CS50, a oedd yn 632 00:34:45,300 --> 00:34:46,389 yn wahanol i'r adnabod. 633 00:34:46,389 --> 00:34:48,520 Dyna oedd system 32-bit, yr wyf yn meddwl. 634 00:34:48,520 --> 00:34:50,290 Ac felly yr oedd gwahanol rifau. 635 00:34:50,290 --> 00:34:53,330 >> Ond yn ei hanfod, dim ond yn gwybod bod y cysyniad cyfan o cwtogi 636 00:34:53,330 --> 00:34:54,815 a sut y mae'n jyst torri pethau i ffwrdd. 637 00:34:54,815 --> 00:34:55,690 Ac felly os bydd yn rounds-- 638 00:34:55,690 --> 00:34:56,300 >> GYNULLEIDFA: Heb talgrynnu. 639 00:34:56,300 --> 00:34:57,370 >> ATHRO: Yn union. 640 00:34:57,370 --> 00:34:57,870 Yeah. 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, yn y cefn. 644 00:35:05,250 --> 00:35:07,634 Rydym yn unig yn mynd dros rai Cwestiynau adolygu cwis. 645 00:35:07,634 --> 00:35:08,430 >> Iawn. 646 00:35:08,430 --> 00:35:10,150 Felly ystyried rhaglen wahanol yma. 647 00:35:10,150 --> 00:35:12,797 648 00:35:12,797 --> 00:35:15,380 Rydw i'n mynd i roi guys i chi cofnodion cwpl i ddarllen dros hyn. 649 00:35:15,380 --> 00:35:18,588 Mae hyn yn rhywbeth a oedd am iawn Yn ddiweddar, fy mod yn meddwl chwythu llawer ohonoch 650 00:35:18,588 --> 00:35:19,142 meddyliau guys yn. 651 00:35:19,142 --> 00:35:21,100 Ond rydym yn mynd i siarad drwy hyn eto yn unig 652 00:35:21,100 --> 00:35:24,152 i wneud yn siŵr eich bod ei ddeall yn llwyr. 653 00:35:24,152 --> 00:35:24,652 IAWN. 654 00:35:24,652 --> 00:35:41,280 655 00:35:41,280 --> 00:35:41,780 IAWN. 656 00:35:41,780 --> 00:35:44,342 Dylai unrhyw un angen mwy o amser i ddarllen drwy'r cod hwn? 657 00:35:44,342 --> 00:35:45,650 IAWN. 658 00:35:45,650 --> 00:35:50,630 >> Felly, mae'n ymddangos i mi fod yn y rhaglen hon Rwy'n 659 00:35:50,630 --> 00:35:53,460 gan greu dau linyn drwy ddefnyddio GetString. 660 00:35:53,460 --> 00:35:55,180 Un o'r enw ac un o'r enw t. 661 00:35:55,180 --> 00:35:58,680 Ac os ydynt yn gyfartal yn dychwelyd at ei gilydd, 662 00:35:58,680 --> 00:36:00,880 dylai argraffu "Chi teipiwch yr un peth. " 663 00:36:00,880 --> 00:36:04,170 >> Ond elsewise, byddai'n argraffu, "Rydych yn teipio pethau gwahanol, "iawn? 664 00:36:04,170 --> 00:36:05,990 Seems iawn, yn syml iawn. 665 00:36:05,990 --> 00:36:08,720 Ond, fodd bynnag, os wyf mewn gwirionedd ceisio ysgrifennu rhaglen hon, 666 00:36:08,720 --> 00:36:12,230 mae'n ymddangos bod hyd yn oed pan fyddaf yn mewnbwn yr un llinynnau union, 667 00:36:12,230 --> 00:36:15,490 mae'n dal yn argraffu allan, "Rydych yn deipio pethau gwahanol! " 668 00:36:15,490 --> 00:36:18,020 A oes unrhyw un eisiau cymryd ergyd ar pam y rhaglen hon bob amser 669 00:36:18,020 --> 00:36:20,370 yn ymateb bod y mewnbynnau yn wahanol, hyd yn oed 670 00:36:20,370 --> 00:36:22,090 pan fydd y geiriau eu hunain yr un fath? 671 00:36:22,090 --> 00:36:24,870 672 00:36:24,870 --> 00:36:29,170 >> Felly, pe bawn yn input-- David gariad i ddefnyddio esiampl fel mom, dde? 673 00:36:29,170 --> 00:36:37,890 Llythrennau bach M-O-M ar gyfer S, T yn hafal llythrennau bach M-O-M. 674 00:36:37,890 --> 00:36:40,340 Os wyf yn rhedeg hyn trwy cod hwnnw, pam y byddai ei 675 00:36:40,340 --> 00:36:44,180 argraffu "chi deipio gwahanol bethau?" 676 00:36:44,180 --> 00:36:46,336 >> A oes unrhyw un angen mwy amser i feddwl am hyn? 677 00:36:46,336 --> 00:36:47,294 OK, yr wyf yn credu ein bod yn dda. 678 00:36:47,294 --> 00:36:48,716 Yeah? 679 00:36:48,716 --> 00:36:53,930 >> GYNULLEIDFA: OK, felly mae'n rhywbeth am lle mae ei storio yn y cof, dde? 680 00:36:53,930 --> 00:36:54,890 >> ATHRO: Yep. 681 00:36:54,890 --> 00:37:00,400 >> GYNULLEIDFA: Ble mae fel, os yw hyn llinyn s yn cael ei storio yn y cof spot-- 682 00:37:00,400 --> 00:37:01,689 Im 'yn dyfeisio this-- yn sero. 683 00:37:01,689 --> 00:37:02,355 ATHRO: Cadarn. 684 00:37:02,355 --> 00:37:05,290 GYNULLEIDFA: A llinyn t yn cael ei storio yn y fan a'r lle cof, 685 00:37:05,290 --> 00:37:11,000 fel, 167, ac yna Nid yw sero yn gyfartal 167. 686 00:37:11,000 --> 00:37:12,610 >> ATHRO: Yn union. 687 00:37:12,610 --> 00:37:18,350 Iawn, felly cofiwch hyn anhygoel datguddiad rydym yn esbonio i chi guys 688 00:37:18,350 --> 00:37:21,530 yr wythnos hon ddiwethaf, fod Nid yw llinynnau yn bodoli mewn gwirionedd? 689 00:37:21,530 --> 00:37:25,380 Pan fyddwn yn creu rhywbeth o'r enw llinyn rydym yn, mewn gwirionedd, 690 00:37:25,380 --> 00:37:29,330 greu rhywbeth a elwir yn seren torgoch. 691 00:37:29,330 --> 00:37:34,470 Y mae pob mae'n rhoi syniad i llinyn neu i amrywiaeth o chars. 692 00:37:34,470 --> 00:37:39,480 >> Ac felly yn yr enghraifft hon, os byddaf oedd mewnbwn M-O-M y ffordd 693 00:37:39,480 --> 00:37:49,350 y byddai fy chyfrifiadur ei storio yn o fewn slaes cof sero, dde? 694 00:37:49,350 --> 00:37:53,180 Mae'r rhai pedwar cymeriad, chars, yn cael ei storio yn rhywle. 695 00:37:53,180 --> 00:37:59,290 >> Ac yna bedwar hyn cymeriadau, slaes sero, 696 00:37:59,290 --> 00:38:01,275 yn cael eu storio yn rhywle arall, dde? 697 00:38:01,275 --> 00:38:04,685 Does gen i ddim syniad ble mae'r cyfeiriadau yn, maent yn rhywle yn fy chyfrifiadur. 698 00:38:04,685 --> 00:38:07,080 Ond nid wyf yn union yn gwybod ble maen nhw. 699 00:38:07,080 --> 00:38:10,170 >> Pan fyddaf yn creu llinyn s, y cyfan sydd wir yn 700 00:38:10,170 --> 00:38:15,550 yn pwyntydd i'r yn dechrau o linyn hwn. 701 00:38:15,550 --> 00:38:21,130 A phan wyf yn creu y gwerth t, popeth sy'n pwyntydd i fan hyn. 702 00:38:21,130 --> 00:38:23,980 Ac felly pan fyddwch yn ceisio i gyfateb a gwirio 703 00:38:23,980 --> 00:38:27,710 i weld a yw s yn gyfartal yn hafal i t, y cyfrifiadur 704 00:38:27,710 --> 00:38:31,635 yn wir yn unig yn dychwelyd i chi gyfeiriad m hon 705 00:38:31,635 --> 00:38:33,390 a chyfeiriad y m. 706 00:38:33,390 --> 00:38:36,230 Ac oherwydd eu bod yn ddau darn gwahanol o ddata 707 00:38:36,230 --> 00:38:38,750 sy'n cael eu storio mewn dau wahanol cyfeiriadau yn eich cyfrifiadur, 708 00:38:38,750 --> 00:38:41,750 byth yn eich cyfrifiadur yn mynd i eu cydnabod fel yr un fath. 709 00:38:41,750 --> 00:38:43,500 A oes unrhyw un eisiau rhoi ergyd yn yr hyn yr ydym 710 00:38:43,500 --> 00:38:46,900 Byddai'n rhaid i wneud os ydym yn awyddus i gywiro hyn ac mae gennym raglen rhedeg cywir 711 00:38:46,900 --> 00:38:49,360 yn lle hynny? 712 00:38:49,360 --> 00:38:52,070 Meddyliwch am hynny am gwpl o eiliadau. 713 00:38:52,070 --> 00:38:54,929 Beth sydd angen i ni newid i cael hyn gweithrediad y rhaglen 714 00:38:54,929 --> 00:38:56,220 y ffordd yr ydym am iddo i weithredu? 715 00:38:56,220 --> 00:39:17,260 716 00:39:17,260 --> 00:39:18,918 >> Yeah, am gymryd drywanu arno? 717 00:39:18,918 --> 00:39:24,082 >> GYNULLEIDFA: A allwn geisio dereference y pwyntydd a gwirio drwy'r llu? 718 00:39:24,082 --> 00:39:25,540 ATHRO: Dyna un ffordd i wneud hynny. 719 00:39:25,540 --> 00:39:27,880 Felly, beth yw eich enw eto? 720 00:39:27,880 --> 00:39:29,010 Mae'n ddrwg gen i, atgoffwch fi. 721 00:39:29,010 --> 00:39:29,589 >> Zee: Zee. 722 00:39:29,589 --> 00:39:32,130 ATHRO: Yeah, felly beth Zee Awgrymodd y byddai gwbl yn gweithio. 723 00:39:32,130 --> 00:39:32,629 Iawn? 724 00:39:32,629 --> 00:39:35,730 Gallem dereference y pwyntydd ac mewn gwirionedd yn mynd a mynediad 725 00:39:35,730 --> 00:39:38,460 mae'r data ffisegol tu mewn fan hyn. 726 00:39:38,460 --> 00:39:40,300 A gallwn jyst gymharu sgrîn gyfan. 727 00:39:40,300 --> 00:39:43,670 >> Gallwn ddweud, OK, pwyntydd, roi i mi yr hyn sydd y tu mewn fan hyn. 728 00:39:43,670 --> 00:39:44,960 Byddai'n dychwelyd m. 729 00:39:44,960 --> 00:39:47,168 A byddwn yn dweud, pwyntydd, roi i mi yr hyn sydd y tu mewn fan hyn. 730 00:39:47,168 --> 00:39:47,750 Dychwelyd i m. 731 00:39:47,750 --> 00:39:48,410 A yw'r rhai cyfatebol? 732 00:39:48,410 --> 00:39:49,410 Ydw. 733 00:39:49,410 --> 00:39:50,340 Yna, rydym yn symud ymlaen. 734 00:39:50,340 --> 00:39:54,240 >> Byddwn yn cadw wirio y ddau cyfan llinynnau yr holl ffordd i fyny tan y diwedd 735 00:39:54,240 --> 00:39:56,635 a gweld os bydd y rhai yn gyfartal, os yw'r holl werthoedd yn gyfartal. 736 00:39:56,635 --> 00:39:59,680 Ac os holl werthoedd yn gyfartal, Yna, rydym yn gwybod y tannau yn wir. 737 00:39:59,680 --> 00:40:01,600 Yn hollol, dyna sut y byddem yn ei wneud? 738 00:40:01,600 --> 00:40:03,930 >> A oes unrhyw un drysu ar unrhyw un hyn? 739 00:40:03,930 --> 00:40:06,970 Mae'r cysyniad cyfan o sut y llinynnau yn wir yn unig awgrymiadau, 740 00:40:06,970 --> 00:40:08,440 a sut y maent nid yn bodoli mewn gwirionedd? 741 00:40:08,440 --> 00:40:10,480 A pham rydym yn cael gwallau fel y ffordd yr ydym yn ei gael? 742 00:40:10,480 --> 00:40:15,070 Gan fy mod yn gwarantu i chi guys, awgrymiadau a dyrannu llinyn a chof 743 00:40:15,070 --> 00:40:16,470 yn mynd i ddod i fyny. 744 00:40:16,470 --> 00:40:17,410 >> Yeah? 745 00:40:17,410 --> 00:40:21,072 >> GYNULLEIDFA: [Anghlywadwy] dereference y peth, 'ch jyst rhowch seren [Anghlywadwy] 746 00:40:21,072 --> 00:40:21,780 ATHRO: Iawn. 747 00:40:21,780 --> 00:40:28,430 Felly, er mwyn derererence pwyntydd modd i fynd i'r cyfeiriad hwnnw o'r pwyntydd 748 00:40:28,430 --> 00:40:30,390 ac yn cael y data, mae'r gwerth yno. 749 00:40:30,390 --> 00:40:32,700 A'r ffordd o wneud hynny yw pwyntydd seren. 750 00:40:32,700 --> 00:40:34,262 Peidiwch â drysu hynny. 751 00:40:34,262 --> 00:40:35,186 >> GYNULLEIDFA: [Anghlywadwy]. 752 00:40:35,186 --> 00:40:35,852 >> ATHRO: Yeah. 753 00:40:35,852 --> 00:40:39,750 GYNULLEIDFA: Felly gallwch ysgrifennu os seren s gyfartal t hafal seren. 754 00:40:39,750 --> 00:40:40,630 >> ATHRO: Wel, dim. 755 00:40:40,630 --> 00:40:40,960 Na 756 00:40:40,960 --> 00:40:41,640 >> GYNULLEIDFA: Nid yw hynny'n ddigon da, dde? 757 00:40:41,640 --> 00:40:43,760 >> ATHRO: Nid yw'n, oherwydd eich bod yn gwirio llythyren gyntaf yn unig. 758 00:40:43,760 --> 00:40:46,010 Mae'n debyg y byddwch chi'n mynd i Mae angen rhyw fath o dolen sydd 759 00:40:46,010 --> 00:40:49,055 ailadrodd trwy bob un cymeriad yn y ddau llinynnau. 760 00:40:49,055 --> 00:40:49,837 Yeah. 761 00:40:49,837 --> 00:40:52,920 Felly, os ydych yn awyddus i jyst edrych i weld os ydynt yn dechrau gyda yr un peth, 762 00:40:52,920 --> 00:40:58,220 y gallwch ei wneud os, seren s yn hafal i seren t. 763 00:40:58,220 --> 00:41:01,300 Yna byddwch yn gwybod bod o leiaf maent yn Dechreuodd gyda'r un cymeriad. 764 00:41:01,300 --> 00:41:01,952 >> Yeah? 765 00:41:01,952 --> 00:41:04,056 >> GYNULLEIDFA: Felly, y ffordd ydych fyddai'n cael ei 766 00:41:04,056 --> 00:41:06,064 fel hymgorffori gyfer dolen neu pwyntydd? 767 00:41:06,064 --> 00:41:06,730 ATHRO: Yeah. 768 00:41:06,730 --> 00:41:08,170 'N bert lawer dim ond ar gyfer dolen. 769 00:41:08,170 --> 00:41:12,430 Cofiwch, David yn y dosbarth a grybwyllir siwgr cystrawennol rhad ac am ddim? 770 00:41:12,430 --> 00:41:17,690 Ac roedd ganddo hyn yn iawn beth dryslyd o seren t 771 00:41:17,690 --> 00:41:22,030 ynghyd ag un, lle y byddai'n integreiddio trwy ac mae'n symud pwyntydd? 772 00:41:22,030 --> 00:41:29,910 Y ffordd haws o wneud mae hyn yn unig t o i. 773 00:41:29,910 --> 00:41:31,090 >> Felly dim ond arae. 774 00:41:31,090 --> 00:41:34,630 Mae'r ffordd y byddai gennych am ddolen a oedd yn rhedeg o ddim i fi, ble 775 00:41:34,630 --> 00:41:36,580 ff yw hyd y llinyn, fe allech chi jyst 776 00:41:36,580 --> 00:41:39,510 ysgrifennu hynny yn hytrach na gwneud y pwyntydd cyfan, cyfeirnod beth. 777 00:41:39,510 --> 00:41:43,510 Felly mae'r pethau hyn yn union cyfatebol yn eich cyfrifiadur. 778 00:41:43,510 --> 00:41:45,905 >> Rydych guys yn ôl pob tebyg ni fydd angen gwybod hynny, 779 00:41:45,905 --> 00:41:48,280 ond mae'n dda i ddim ond math o gael yn y cefn eich meddwl. 780 00:41:48,280 --> 00:41:52,630 Dim ond yn gwybod bod y cyfrifiadur yn cydnabod gwahanol flociau o god 781 00:41:52,630 --> 00:41:53,890 gan fod yr un peth. 782 00:41:53,890 --> 00:41:57,510 Oherwydd bod hyn yn unig yn llawer haws i'w ddefnyddio gyfeillgar i ni gyflwyno fel ei fod yn 783 00:41:57,510 --> 00:41:58,150 arae. 784 00:41:58,150 --> 00:42:00,990 'I' jyst yn haws. 785 00:42:00,990 --> 00:42:02,719 >> GYNULLEIDFA: Felly defnyddiwch strlen i hoffi, get-- 786 00:42:02,719 --> 00:42:03,385 ATHRO: Yeah. 787 00:42:03,385 --> 00:42:03,926 GYNULLEIDFA: OK. 788 00:42:03,926 --> 00:42:05,940 ATHRO: Gallech defnyddiwch strlen neu, os ydych 789 00:42:05,940 --> 00:42:10,420 Nid oedd gan strlen gallwch ei wneud i fyny hyd nes y byddwch yn taro slaes sero ar gyfer y ddau. 790 00:42:10,420 --> 00:42:11,568 Byddai Naill ai gweithio. 791 00:42:11,568 --> 00:42:12,068 Yeah. 792 00:42:12,068 --> 00:42:14,871 793 00:42:14,871 --> 00:42:17,996 GYNULLEIDFA: Felly mae'n i dereference bob cymeriad unigol pe baem mewn gwirionedd 794 00:42:17,996 --> 00:42:21,044 ysgrifennu cod hwn, rydym yn Gallai dim ond gwneud t cromfachau ff 795 00:42:21,044 --> 00:42:22,460 yn hoffi gyda'r seren o flaen ohono? 796 00:42:22,460 --> 00:42:27,700 >> ATHRO: Yeah, hafal hafal s braced i, ac yna dal i symud i 797 00:42:27,700 --> 00:42:29,790 i lawr hyd nes i chi gyrraedd y diwedd. 798 00:42:29,790 --> 00:42:31,286 Yeah, dyna beth fyddech chi'n ei wneud. 799 00:42:31,286 --> 00:42:33,660 A byddaf mewn gwirionedd yn cael nesaf enghraifft pan fyddwn mewn gwirionedd 800 00:42:33,660 --> 00:42:36,740 ysgrifennu strlen felly byddwch yn guys caredig o fynd i chwarae o gwmpas gyda hi braidd. 801 00:42:36,740 --> 00:42:43,567 >> Felly, mae pawb yn glir ar y cof yn unig, llinynnau, awgrymiadau, cyfeiriadau ansawdd? 802 00:42:43,567 --> 00:42:46,650 Mae rhai cysyniadau lefel uwch sy'n eich ewyllys yn sicr angen gwybod ar y cwis 803 00:42:46,650 --> 00:42:48,928 yfory. 804 00:42:48,928 --> 00:42:49,904 >> Iawn. 805 00:42:49,904 --> 00:42:50,404 Da. 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 Iawn, felly un peth yr ydym bydd hefyd yn gofyn chi, fel yr ydym yn ei wneud bob blwyddyn ar gwis, yw, 810 00:43:04,180 --> 00:43:08,340 Mae'n debyg eich bod wedi anghofio (sydd rydym yn ymddangos i anghofio gwneud yn flynyddol) 811 00:43:08,340 --> 00:43:10,810 lle mae strlen ffeil flaen ei ddatgan. 812 00:43:10,810 --> 00:43:13,860 Ac felly mae'n rhaid i ni ailysgrifennu ein hunain. 813 00:43:13,860 --> 00:43:16,350 >> Dyma restr o ganllawiau ein bod yn gallu cyflwyno chi 814 00:43:16,350 --> 00:43:20,660 guys lle rydych yn cael i gymryd yn ganiataol bod s Ni fydd y llinyn yn null. 815 00:43:20,660 --> 00:43:23,830 Gallwch chi gymryd yn ganiataol y bydd s yn terfynu gyda slaes sero. 816 00:43:23,830 --> 00:43:26,670 Felly, rydych yn gwybod dyna beth mae'n mynd i ben gyda. 817 00:43:26,670 --> 00:43:29,500 >> Ac, er enghraifft, bod y Byddai hyd helo fod yn bump oed. 818 00:43:29,500 --> 00:43:32,890 Felly, gallwch gymryd yn ganiataol bod helo Bydd pump, H-E-L-L-O. 819 00:43:32,890 --> 00:43:35,890 Nid oes rhaid i chi gymryd yn ganiataol bod y backside sero cyfrifon ar gyfer y darn. 820 00:43:35,890 --> 00:43:39,720 821 00:43:39,720 --> 00:43:42,300 >> Mae hyn yn peth olaf yma, peidiwch â poeni am gorlif cyfanrif. 822 00:43:42,300 --> 00:43:45,270 A oes unrhyw un yn cofio gorlif beth cyfanrif yw? 823 00:43:45,270 --> 00:43:48,041 >> GYNULLEIDFA: Mynd y tu hwnt i'r hyd y [Anghlywadwy]. 824 00:43:48,041 --> 00:43:50,740 >> ATHRO: Yeah, allwch chi esbonio ychydig, beth mae hynny'n ei olygu? 825 00:43:50,740 --> 00:43:55,330 >> GYNULLEIDFA: Felly, yr wyf yn dyfalu ei fod yn mynd yn ôl at yr enghraifft truncating gynharach. 826 00:43:55,330 --> 00:43:58,380 Ond os oes gennych dim ond cymaint o rifau sy'n mynd y tu hwnt i'r nifer o ddarnau 827 00:43:58,380 --> 00:44:01,409 y gallwch mewn gwirionedd yn aseinio ei y bydd yn unig fath o dorri i ffwrdd. 828 00:44:01,409 --> 00:44:04,242 ATHRO: Yeah, y blaen nodweddiadol cyfrifiadur, faint o ddarnau sydd gennym? 829 00:44:04,242 --> 00:44:05,306 GYNULLEIDFA: 32? 830 00:44:05,306 --> 00:44:06,430 ATHRO: Yeah, 32, ar y dde. 831 00:44:06,430 --> 00:44:10,030 Ac felly dyna, beth, pedwar biliwn, dau biliwn o? 832 00:44:10,030 --> 00:44:13,579 Pedwar biliwn, hyd at phedwar biliwn gyfanrifau positif, dde? 833 00:44:13,579 --> 00:44:15,370 Mae dau biliwn negyddol, dau biliwn o gadarnhaol, 834 00:44:15,370 --> 00:44:16,900 yn dibynnu ar sut yr ydych am ei wneud. 835 00:44:16,900 --> 00:44:21,470 >> Ac felly y bôn gallwn gael digon o cyfanrifau sy'n gallu mynd i fyny 836 00:44:21,470 --> 00:44:25,800 i ddau i'r 31ain minws 1, dde? 837 00:44:25,800 --> 00:44:27,980 Oherwydd ar ôl i ni daro dau at y 32eg, nid ydym yn ei wneud 838 00:44:27,980 --> 00:44:30,040 rhaid bod llawer o gof yn ein cyfrifiadur. 839 00:44:30,040 --> 00:44:32,310 >> Ac felly, yn ddamcaniaethol, yr wyf yn Gallai ddod o hyd i rif 840 00:44:32,310 --> 00:44:34,560 hynny yw, fel, dau i'r 46eg. 841 00:44:34,560 --> 00:44:38,040 Mae'n nifer fawr-ass, ond ddamcaniaethol y gallai. 842 00:44:38,040 --> 00:44:42,730 Ac felly gorlif cyfanrif yw os ydych yn ceisio creu yn gyfanrif sy'n mynd y tu hwnt i'r hyn 843 00:44:42,730 --> 00:44:44,790 eich cyfrifiadur yn gallu storio. 844 00:44:44,790 --> 00:44:46,590 >> Ac er mwyn i chi guys i Nid yw yr enghraifft hon oes gan 845 00:44:46,590 --> 00:44:51,330 i chi boeni am ein rhoi cawr chi llinyn sydd dau i'r chars 32ain 846 00:44:51,330 --> 00:44:51,830 hir. 847 00:44:51,830 --> 00:44:54,010 Byddai hynny'n cael ei olygu mewn gwirionedd. 848 00:44:54,010 --> 00:44:59,430 >> Mae pob hawl, felly dwi jyst yn mynd i roi chi guys strwythur sylfaenol o hyn. 849 00:44:59,430 --> 00:45:02,020 Rydych yn mynd i greu swyddogaeth a elwir yn int strlen lle 850 00:45:02,020 --> 00:45:08,436 a pasio i mewn, yn seren golosg, neu linyn, pwyntydd i'r llinyn o'r enw s. 851 00:45:08,436 --> 00:45:10,820 >> Mae pob hawl, mae pawb gopïo hynny i lawr. 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-- ffordd arall. 855 00:45:17,020 --> 00:45:21,360 >> Felly, mae hyn yn fath o fel darn galetach o broblem, 856 00:45:21,360 --> 00:45:25,320 felly byddaf yn rhoi guys efallai pump chi chwe munud i fath o tasgu syniadau 857 00:45:25,320 --> 00:45:27,478 ac ysgrifennu swyddogaeth hon allan. 858 00:45:27,478 --> 00:45:29,710 >> GYNULLEIDFA: Nid ydym yn ei wneud cyfrif am [Anghlywadwy], 859 00:45:29,710 --> 00:45:30,200 nid oes gennym i ddefnyddio cyfanrif? 860 00:45:30,200 --> 00:45:31,241 >> ATHRO: Na, nid ydych yn ei wneud. 861 00:45:31,241 --> 00:48:05,847 862 00:48:05,847 --> 00:48:06,930 Byddaf yn rhoi i chi guys awgrym. 863 00:48:06,930 --> 00:48:12,325 Gall dolen tra yn ddefnyddiol iawn yma. 864 00:48:12,325 --> 00:48:12,825 Yeah. 865 00:48:12,825 --> 00:48:44,995 866 00:48:44,995 --> 00:48:45,495 Dyma 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 Bydd Candy hefyd ar gael ar gyfer y cwis, yr wyf yn meddwl. 870 00:48:53,410 --> 00:48:55,315 Felly, byddwch yn guys i gyd sugared fyny yfory. 871 00:48:55,315 --> 00:49:01,110 872 00:49:01,110 --> 00:49:02,962 Allwch I-- chi got it. 873 00:49:02,962 --> 00:49:03,718 >> GYNULLEIDFA: OK. 874 00:49:03,718 --> 00:49:04,384 ATHRO: Yeah. 875 00:49:04,384 --> 00:49:10,550 876 00:49:10,550 --> 00:49:11,870 >> Efallai 30 mwy eiliad neu ddwy. 877 00:49:11,870 --> 00:50:02,220 878 00:50:02,220 --> 00:50:07,340 >> Mae pob hawl, os ydych heb ei wneud, dim pryderon. 879 00:50:07,340 --> 00:50:08,810 Byddwn yn symud drwy hyn gyda'n gilydd. 880 00:50:08,810 --> 00:50:09,310 IAWN. 881 00:50:09,310 --> 00:50:13,800 Felly, yr wyf i'n mynd i dim ond y cynllun y strwythur sylfaenol ar gyfer y swyddogaeth hon fan hyn. 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 Yn gyntaf, a oes unrhyw un yn eisiau dweud wrthyf beth y int arwydd? 885 00:50:23,460 --> 00:50:25,160 Mae angen i ni gael yn y swyddogaeth hon. 886 00:50:25,160 --> 00:50:26,709 >> GYNULLEIDFA: Strlen [Anghlywadwy]. 887 00:50:26,709 --> 00:50:27,500 ATHRO: Yn union. 888 00:50:27,500 --> 00:50:31,140 Felly beth bynnag sy'n digwydd yn fan hyn, mae angen i ni ddychwelyd yn gyfanrif. 889 00:50:31,140 --> 00:50:36,367 Ac fel y nodir yn y spec, rydym am return-- 890 00:50:36,367 --> 00:50:37,700 Ewch amdani guys, dim ond cadw i fynd. 891 00:50:37,700 --> 00:50:40,480 Mae hyn i gyd yn dda. 892 00:50:40,480 --> 00:50:42,960 Fwyta i gyd, felly nid oes gennyf i'w gymryd yn ôl, mewn gwirionedd. 893 00:50:42,960 --> 00:50:46,022 894 00:50:46,022 --> 00:50:48,855 Mae'r int yn unig yn arwydd eich bod yn mynd i fod yn dychwelyd yn gyfanrif. 895 00:50:48,855 --> 00:50:55,350 896 00:50:55,350 --> 00:50:57,106 >> Beth yw hwn seren s torgoch? 897 00:50:57,106 --> 00:50:58,640 Beth yw ystyr hynny? 898 00:50:58,640 --> 00:51:00,879 >> GYNULLEIDFA: Fel, beth sy'n cael ei mewnbynnu i mewn. 899 00:51:00,879 --> 00:51:01,670 ATHRO: Yn union. 900 00:51:01,670 --> 00:51:04,142 A beth yw bron y un peth â seren torgoch? 901 00:51:04,142 --> 00:51:04,850 GYNULLEIDFA: Llinynnol? 902 00:51:04,850 --> 00:51:05,641 ATHRO: Yn union. 903 00:51:05,641 --> 00:51:09,080 Felly cyfan yr ydym yn ei wneud yw rhoi mae hyn yn pwyntydd i linyn. 904 00:51:09,080 --> 00:51:09,580 IAWN. 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 >> Hefyd, peidiwch ag anghofio, os ydym yn anghofio i roi cromfachau hyn i chi, 908 00:51:16,650 --> 00:51:18,330 peidiwch ag anghofio i ysgrifennu eich hun. 909 00:51:18,330 --> 00:51:20,720 Gan fod yn ddamcaniaethol, eich cod yn anghywir os byddwch yn anghofio i ysgrifennu iddynt. 910 00:51:20,720 --> 00:51:21,803 Dim ond bob amser yn talu sylw. 911 00:51:21,803 --> 00:51:23,750 Fel, pethau bach nad ydych yn sylwi 912 00:51:23,750 --> 00:51:26,917 pan fyddwch yn rhaglennu ar eich gliniadur, oherwydd bod eich gliniadur yn gwneud hynny ar eich rhan? 913 00:51:26,917 --> 00:51:28,624 Peidiwch ag anghofio pan eich bod yn ysgrifennu â llaw. 914 00:51:28,624 --> 00:51:29,170 Yeah? 915 00:51:29,170 --> 00:51:30,954 >> GYNULLEIDFA: Ond sut anghywir? 916 00:51:30,954 --> 00:51:33,190 Fel, yr ydym yn cael y broblem gyfan anghywir? 917 00:51:33,190 --> 00:51:34,190 >> ATHRO: Na, na. 918 00:51:34,190 --> 00:51:34,860 Peidiwch â phoeni. 919 00:51:34,860 --> 00:51:39,270 Mae'n mewn gwirionedd bosibl mewn egwyddor i chi gael pwyntiau llawn ar gwestiwn 920 00:51:39,270 --> 00:51:41,980 hyd yn oed os yw eich cod bydd byth yn rhedeg mewn bywyd go iawn. 921 00:51:41,980 --> 00:51:46,052 Yr wyf yn awgrymu nad ydych yn ceisio i wneud i hynny ddigwydd. 922 00:51:46,052 --> 00:51:48,260 Er enghraifft, fel os bydd popeth dyna yma yn iawn, 923 00:51:48,260 --> 00:51:51,850 ond byddwch yn anghofio colon neu braced, Ni fydd eich cod rhedeg mewn gwirionedd. 924 00:51:51,850 --> 00:51:53,740 Ond efallai y byddwn yn drugarog. 925 00:51:53,740 --> 00:51:54,394 >> Yeah? 926 00:51:54,394 --> 00:51:56,050 >> GYNULLEIDFA: Oes rhaid i chi sylwadau ar ein llawysgrifen? 927 00:51:56,050 --> 00:51:57,758 >> ATHRO: Na, na, na pryderon am hynny. 928 00:51:57,758 --> 00:51:58,440 Dim sylwadau. 929 00:51:58,440 --> 00:51:59,400 Dylai Arddull fod yn dda. 930 00:51:59,400 --> 00:52:01,470 Fel, peidiwch â smush popeth ar un llinell. 931 00:52:01,470 --> 00:52:04,580 Ni fyddwn yn hapus gyda chi os ydych yn gwneud hynny. 932 00:52:04,580 --> 00:52:07,250 >> A oes unrhyw un eisiau rhoi'r llinell gyntaf i mi? 933 00:52:07,250 --> 00:52:08,633 Awgrym, mae'n hawdd iawn. 934 00:52:08,633 --> 00:52:09,320 >> Yeah? 935 00:52:09,320 --> 00:52:11,920 >> GYNULLEIDFA: Int, n hafal sero. 936 00:52:11,920 --> 00:52:13,734 Newydd sefydlu cownter. 937 00:52:13,734 --> 00:52:15,900 ATHRO: Felly, rydym am gael rhywfaint o math o cownter, dde? 938 00:52:15,900 --> 00:52:19,780 Im 'jyst yn mynd i enwi yn "cyfrif" er mwyn darllenadwyedd. 939 00:52:19,780 --> 00:52:21,265 Beth ydym ni am ei osod yn hafal i? 940 00:52:21,265 --> 00:52:21,890 >> GYNULLEIDFA: Zero. 941 00:52:21,890 --> 00:52:23,840 ATHRO: Yep. 942 00:52:23,840 --> 00:52:24,340 Hanner colon. 943 00:52:24,340 --> 00:52:26,250 Mae hefyd yn hanner colon arlunio rhyfedd iawn. 944 00:52:26,250 --> 00:52:28,870 Dim ond yn ymarfer gwneud hynny. 945 00:52:28,870 --> 00:52:31,990 >> Felly, rydym yn awyddus i gael yn gyntaf cownter o'r math int. 946 00:52:31,990 --> 00:52:35,360 Oherwydd ein bod yn awyddus i gyfrif hyd sut nifer o gymeriadau neu lythyrau yn 947 00:52:35,360 --> 00:52:36,780 yn y llinyn hwn, dde? 948 00:52:36,780 --> 00:52:38,330 Cam cyntaf yn hawdd iawn. 949 00:52:38,330 --> 00:52:42,140 >> OK, efallai ychydig yn fwy cymhleth Erbyn hyn, sut ydym yn mynd i wneud hynny? 950 00:52:42,140 --> 00:52:45,400 A oes unrhyw un eisiau rhoi llinell o god i mi 951 00:52:45,400 --> 00:52:48,450 a allai eich helpu dolen drwy ba bynnag mae hyn yn? 952 00:52:48,450 --> 00:52:54,540 953 00:52:54,540 --> 00:52:56,900 >> Yeah, enaid dewr yn y cefn? 954 00:52:56,900 --> 00:53:06,832 >> GYNULLEIDFA: OK, felly er pwynt seren, mae'r yeah, seren s, 955 00:53:06,832 --> 00:53:09,465 Nid yn hafal i sero, yna gwneud rhywbeth? 956 00:53:09,465 --> 00:53:11,090 ATHRO: Mae hynny'n wir, yn agos iawn. 957 00:53:11,090 --> 00:53:11,835 Really agos. 958 00:53:11,835 --> 00:53:13,710 Felly dw i'n mynd i fynd i'r afael â dau beth â hynny. 959 00:53:13,710 --> 00:53:18,240 Yn gyntaf oll, nid yw'n union sero. 960 00:53:18,240 --> 00:53:20,110 Beth yw e? 961 00:53:20,110 --> 00:53:22,550 Mae'n y terminator null, sydd yn slaes sero. 962 00:53:22,550 --> 00:53:24,960 Fel eu bod yn wahanol mewn ran sut y maent yn cael eu storio. 963 00:53:24,960 --> 00:53:26,270 Felly, rydych yn wirioneddol agos. 964 00:53:26,270 --> 00:53:30,330 >> Ac yn ail, nid ydym am i ddim ond symud pwyntydd. 965 00:53:30,330 --> 00:53:32,320 Rydym eisiau mewn gwirionedd gafael ar y gwerthoedd, dde? 966 00:53:32,320 --> 00:53:34,050 Ac felly, sut ydyn ni'n gwneud hynny? 967 00:53:34,050 --> 00:53:34,550 Hawdd iawn. 968 00:53:34,550 --> 00:53:36,841 Peidiwch â meddwl am awgrymiadau, peidiwch â meddwl am atgofion. 969 00:53:36,841 --> 00:53:38,525 Ewch yn ôl i wythnos dau o'r cwrs hwn. 970 00:53:38,525 --> 00:53:39,555 >> GYNULLEIDFA: [Anghlywadwy]. 971 00:53:39,555 --> 00:53:40,680 ATHRO: O, cofio? 972 00:53:40,680 --> 00:53:41,400 Beth yw llinynnau? 973 00:53:41,400 --> 00:53:42,650 Sut maen nhw'n cael eu storio yn y cof? 974 00:53:42,650 --> 00:53:43,300 >> GYNULLEIDFA: Maen nhw'n codi. 975 00:53:43,300 --> 00:53:43,810 >> ATHRO: Maent yn cael eu codi. 976 00:53:43,810 --> 00:53:45,550 Felly sut ydyn ni'n cael mynediad bob cymeriad y tu mewn? 977 00:53:45,550 --> 00:53:46,466 >> GYNULLEIDFA: [Anghlywadwy]. 978 00:53:46,466 --> 00:53:47,530 ATHRO: Yn union. 979 00:53:47,530 --> 00:53:53,195 Felly while-- beth sy'n mynd y tu mewn fan hyn? 980 00:53:53,195 --> 00:53:54,940 S o - 981 00:53:54,940 --> 00:53:55,920 >> GYNULLEIDFA: I. 982 00:53:55,920 --> 00:53:58,216 >> ATHRO: O, nid fi yn bodoli, nac ydi? 983 00:53:58,216 --> 00:53:59,620 >> GYNULLEIDFA: O, cyfrif? 984 00:53:59,620 --> 00:54:01,640 >> ATHRO: Gallwn yn unig defnyddio cyfrif, na allwn ni? 985 00:54:01,640 --> 00:54:03,050 >> GYNULLEIDFA: Mae'n ddrwg gennyf, yr wyf yn ei alw i. 986 00:54:03,050 --> 00:54:04,341 >> ATHRO: Yeah, 'i' i gyd yn dda. 987 00:54:04,341 --> 00:54:06,710 988 00:54:06,710 --> 00:54:10,760 Mae gennym newidyn yma dyna eisoes wedi cael ei ddatgan fel ein cownter. 989 00:54:10,760 --> 00:54:13,650 Felly pam nad ydym yn unig yn defnyddio hynny i symud drwy'r ddolen tra? 990 00:54:13,650 --> 00:54:15,230 A yw hynny'n gwneud synnwyr? 991 00:54:15,230 --> 00:54:20,864 >> Felly, er bod s o count-- oes unrhyw un yn dymuno i roi i mi yr hyn sy'n digwydd ar ôl fan hyn? 992 00:54:20,864 --> 00:54:22,030 GYNULLEIDFA: Nid Mae'n gwneud gyfartal. 993 00:54:22,030 --> 00:54:23,405 ATHRO: Nid yw'n gyfartal, dde? 994 00:54:23,405 --> 00:54:26,200 Mae wedi y bang hafal, ebychnod yn dychwelyd, 995 00:54:26,200 --> 00:54:28,500 beth bynnag yr ydych guys eisiau alw nid yw'n equal-- 996 00:54:28,500 --> 00:54:29,496 >> GYNULLEIDFA: [Anghlywadwy]. 997 00:54:29,496 --> 00:54:30,990 >> ATHRO: Yeah. 998 00:54:30,990 --> 00:54:37,110 Cofiwch dyfynbris sengl yn un ar gyfer torgoch, dyfynodau dwbl ar gyfer llinyn. 999 00:54:37,110 --> 00:54:38,630 Byddwch yn ofalus wrth eu defnyddio. 1000 00:54:38,630 --> 00:54:42,430 Felly, pan rydym yn edrych trwy yr amrywiaeth, cymeriad diwethaf, 1001 00:54:42,430 --> 00:54:46,420 rydym yn gwybod nad ydym am ei fod yn slaes sero. 1002 00:54:46,420 --> 00:54:47,340 >> Felly, er. 1003 00:54:47,340 --> 00:54:48,840 Nid ydym yn ar ddiwedd y llinyn. 1004 00:54:48,840 --> 00:54:52,335 Beth ydym ni am ei wneud y tu mewn? 1005 00:54:52,335 --> 00:54:55,269 >> GYNULLEIDFA: Rydym eisiau ychwanegu at y cownter felly mae'n cyfrif yn ogystal plws? 1006 00:54:55,269 --> 00:54:56,060 ATHRO: Yn union. 1007 00:54:56,060 --> 00:55:03,064 Felly dyma ni yn mynd i wneud cyfrif, yn cyfrif yn ogystal a mwy. 1008 00:55:03,064 --> 00:55:03,980 Ar goll un llinell mwy. 1009 00:55:03,980 --> 00:55:05,090 Rydym yn bron yno. 1010 00:55:05,090 --> 00:55:07,398 Beth rydym yn anghofio ei wneud? 1011 00:55:07,398 --> 00:55:08,770 >> GYNULLEIDFA: Dychwelyd sero? 1012 00:55:08,770 --> 00:55:10,820 >> ATHRO: Yr ydych eisiau dychwelyd sero? 1013 00:55:10,820 --> 00:55:12,962 >> GYNULLEIDFA: Na, yn dychwelyd i strlen. 1014 00:55:12,962 --> 00:55:13,511 Arhoswch. 1015 00:55:13,511 --> 00:55:14,760 ATHRO: Pa cael ei storio mewn? 1016 00:55:14,760 --> 00:55:15,090 GYNULLEIDFA: Cyfrif. 1017 00:55:15,090 --> 00:55:15,589 Yn cyfrif. 1018 00:55:15,589 --> 00:55:17,150 ATHRO: Yn union. 1019 00:55:17,150 --> 00:55:20,760 Felly dyma ni yn mynd i ddychwelyd cyfrif. 1020 00:55:20,760 --> 00:55:23,450 1021 00:55:23,450 --> 00:55:25,380 >> Oherwydd yr hyn rydym yn wneud yma ultimately-- 1022 00:55:25,380 --> 00:55:29,780 mae gennym newidyn cownter sy'n mynd i gynyddiad drwy ein llinyn. 1023 00:55:29,780 --> 00:55:33,050 Rydym yn mynd i gadw i fynd, cadw mynd, o gwmpas ac o gwmpas yn y ddolen hon. 1024 00:55:33,050 --> 00:55:37,700 Ac er nad ydym chi ar y diwedd y llinyn, sef y terminator null. 1025 00:55:37,700 --> 00:55:40,410 >> A phob tro y byddwn yn mynd drwy y peth, rydym yn ychwanegu at ein cownter. 1026 00:55:40,410 --> 00:55:42,640 Ac rydym yn mynd ymhellach ynghyd mewn amrywiaeth hwn. 1027 00:55:42,640 --> 00:55:44,880 Ac ar y diwedd, ar ôl i ni daro y terminator null, 1028 00:55:44,880 --> 00:55:48,469 gwyddom, oh, y gallwn torri, dychwelwch y cyfrif. 1029 00:55:48,469 --> 00:55:49,260 Rydym wedi ein strlen. 1030 00:55:49,260 --> 00:55:52,280 1031 00:55:52,280 --> 00:55:56,400 >> Ydy pawb yn cael sut cafodd hyn ei roi ar waith? 1032 00:55:56,400 --> 00:55:58,830 Er loops-- Rwy'n gwybod nad ydym wedi gwneud gormod gyda nhw, 1033 00:55:58,830 --> 00:56:01,240 ond maen nhw fel arfer yn iawn, yn ddefnyddiol iawn os ydych yn 1034 00:56:01,240 --> 00:56:05,390 ddim yn gwybod beth rydych chi'n rhoi'r gorau o reidrwydd gan fod cyflwr. 1035 00:56:05,390 --> 00:56:06,220 >> Cwestiwn? 1036 00:56:06,220 --> 00:56:10,080 >> GYNULLEIDFA: Allwn ni ysgrifennu null ar yr amod tra? 1037 00:56:10,080 --> 00:56:10,940 >> ATHRO: Er bod? 1038 00:56:10,940 --> 00:56:15,304 Yeah, felly yn y broblem hon fy mod wedi i chi guys cymryd yn ganiataol na fydd s yn null. 1039 00:56:15,304 --> 00:56:17,220 Oherwydd cofiwch, ddamcaniaethol, os wyf yn rhoi i chi 1040 00:56:17,220 --> 00:56:21,180 pwyntydd a oedd yn rhy fawr o gof, byddai'n rhoi'r null chi, dde? 1041 00:56:21,180 --> 00:56:23,770 Dyna beth mae'r gweithredu Byddai system yn ei wneud. 1042 00:56:23,770 --> 00:56:26,960 >> Felly os nad oeddwn yn dweud wrthych i gymryd yn ganiataol Byddai s yn null, mae angen i chi wirio. 1043 00:56:26,960 --> 00:56:32,050 Felly i fyny yma, byddech yn ei wneud, os s hafal hafal null, yn dychwelyd un. 1044 00:56:32,050 --> 00:56:33,028 Rhywbeth fel 'na. 1045 00:56:33,028 --> 00:56:34,153 GYNULLEIDFA: [Anghlywadwy] sero. 1046 00:56:34,153 --> 00:56:37,287 1047 00:56:37,287 --> 00:56:39,370 ATHRO: OK, byddaf yn dweud wrthych pam na allwn wneud hynny. 1048 00:56:39,370 --> 00:56:43,357 Oherwydd bod yn cofio yn y cof, ar y dde, fan hyn. 1049 00:56:43,357 --> 00:56:43,940 Byddwn yn mynd yma. 1050 00:56:43,940 --> 00:56:49,940 1051 00:56:49,940 --> 00:56:54,090 >> Rydych chi wedi got blociau mawr o gof i gyd gyda gridiau 1052 00:56:54,090 --> 00:56:56,680 y siop gwahanol werthoedd, dde? 1053 00:56:56,680 --> 00:57:00,110 Ac felly yr holl llinyn yw-- am enghraifft, os ydym i fewnbwn helo, 1054 00:57:00,110 --> 00:57:05,490 byddai'n H-E-L-L-O slaes sero, dde? 1055 00:57:05,490 --> 00:57:09,570 Ac yna pwy a ŵyr, fel hap pethau sydd yn fan hyn ar ei ôl. 1056 00:57:09,570 --> 00:57:11,220 >> Nid ydym yn mewn gwirionedd yn gwybod beth sydd yno. 1057 00:57:11,220 --> 00:57:13,350 Ac felly os ydych yn ei wneud yn hytrach na slaes sero, 1058 00:57:13,350 --> 00:57:15,590 null, efallai na fydd yn null. 1059 00:57:15,590 --> 00:57:17,680 Oherwydd ei fod yn unig a all olygu rhai pethau eraill ar hap 1060 00:57:17,680 --> 00:57:19,270 nad ydynt yn perthyn yn eich llinyn. 1061 00:57:19,270 --> 00:57:23,219 Ac felly y modd yr ydym bob amser yn gwybod bod llinyn yn dod i ben yw gyda slaes sero. 1062 00:57:23,219 --> 00:57:25,760 Ac felly dyna sut yr ydym bob amser yn gwirio i weld y pen llinyn. 1063 00:57:25,760 --> 00:57:30,820 >> Null, pob modd hynny yw os oes gennych pwyntydd nad ydynt yn bodoli, yn gyntaf oll, 1064 00:57:30,820 --> 00:57:36,160 neu os yw eich cof yn unig yw mor fawr fel bod nad ydych yn gallu dychwelyd, yna byddai'n fod null. 1065 00:57:36,160 --> 00:57:40,150 Felly byddwch yn ofalus iawn wrth gwahaniaethu y gwahaniaeth rhwng null 1066 00:57:40,150 --> 00:57:42,130 a'r slaes sero. 1067 00:57:42,130 --> 00:57:43,670 Yeah. 1068 00:57:43,670 --> 00:57:46,886 >> Mae pawb yn iawn gyda hyn? 1069 00:57:46,886 --> 00:57:48,150 IAWN. 1070 00:57:48,150 --> 00:57:50,440 >> Felly, yr wyf wedi cael chi guys ysgrifennu strlen. 1071 00:57:50,440 --> 00:57:53,790 Yn ymarferol gallem hefyd yn gofyn i chi ysgrifennu allan A i I, cofiwch fod "Atwoa" 1072 00:57:53,790 --> 00:57:55,400 neu beth bynnag yr ydych guys am ei alw? 1073 00:57:55,400 --> 00:57:58,010 Swyddogaeth honno mewn Vigenere a Cesar, bod 1074 00:57:58,010 --> 00:58:00,900 yn trosi gwerth ASCII i cyfanrif? 1075 00:58:00,900 --> 00:58:04,360 Mae hynny hefyd wedi dod i fyny ar gwisiau gorffennol swyddogaethau rydym wedi gofyn i chi ysgrifennu. 1076 00:58:04,360 --> 00:58:08,280 >> 'N bert lawer unrhyw swyddogaeth eich bod wedi defnyddio ac yn 1077 00:58:08,280 --> 00:58:11,660 hawdd iawn i ysgrifennu eich hun, synwyryddion yn hoffi yn is, 1078 00:58:11,660 --> 00:58:14,620 yn uwch, er mwyn gostwng, i'r uchaf. 1079 00:58:14,620 --> 00:58:17,964 Swyddogaethau a fyddai'n drosi llinyn o lythrennau bach i priflythyren. 1080 00:58:17,964 --> 00:58:19,380 Rydym i gyd yn gwybod sut i wneud hynny, dde? 1081 00:58:19,380 --> 00:58:21,100 Mae'n eithaf hawdd. 1082 00:58:21,100 --> 00:58:24,770 Dim ond eisiau gwneud yn siŵr eich bod yn can-- 'i' yr un broses feddwl. 1083 00:58:24,770 --> 00:58:26,940 Rydych yn unig ailadrodd drwy ac rydych yn troi pethau. 1084 00:58:26,940 --> 00:58:30,190 Chi naill ai yn cyfrif neu pan fydd chi droi pethau'n wahanol. 1085 00:58:30,190 --> 00:58:32,280 >> Byddwn yn suggest-- fy mod ddim yn gwybod os ydym yn mynd 1086 00:58:32,280 --> 00:58:39,080 i ofyn i chi gofio pa cyfalaf A neu Z cyfalaf, neu llythrennau bach A neu llythrennau bach 1087 00:58:39,080 --> 00:58:42,640 z yn ASCII, ond byddwn yn awgrymu efallai ysgrifenedig ei lawr rhag ofn 1088 00:58:42,640 --> 00:58:44,124 rydym yn ei wneud. 1089 00:58:44,124 --> 00:58:45,540 Yn union fel eich guys yn cael geirda. 1090 00:58:45,540 --> 00:58:47,180 Fel priflythyren A yw, beth, 197? 1091 00:58:47,180 --> 00:58:51,320 Ac yna llythrennau bach yn debyg 50 rhywbeth. 1092 00:58:51,320 --> 00:58:52,492 65, ie, dyna ni. 1093 00:58:52,492 --> 00:58:54,950 Felly, dim ond 'n bert lawer yn adnabod y gwahaniaeth rhyngddynt yn 32. 1094 00:58:54,950 --> 00:58:57,670 Dyna 'n bert bwysig. 1095 00:58:57,670 --> 00:58:58,170 Yeah. 1096 00:58:58,170 --> 00:59:01,445 Ydw i'n dda ar hyn? 1097 00:59:01,445 --> 00:59:01,945 IAWN. 1098 00:59:01,945 --> 00:59:03,109 >> GYNULLEIDFA: Gallem ddamcaniaethol ysgrifennu rhai 1099 00:59:03,109 --> 00:59:04,410 o'r rhain i lawr yn ogystal ar ein little-- 1100 00:59:04,410 --> 00:59:07,035 >> ATHRO: Yr ydych yn ddamcaniaethol Gallai jyst adysgrifia y swyddogaeth i lawr. 1101 00:59:07,035 --> 00:59:08,482 Mae hynny'n wir. 1102 00:59:08,482 --> 00:59:11,080 >> GYNULLEIDFA: Ddim [Anghlywadwy]. 1103 00:59:11,080 --> 00:59:12,720 >> ATHRO: Yr ydych guys yn cael taflen. 1104 00:59:12,720 --> 00:59:14,194 Rydych guys yn cael taflen nodiadau. 1105 00:59:14,194 --> 00:59:14,860 Gallwch deipio. 1106 00:59:14,860 --> 00:59:15,490 Gallwch ysgrifennu arno. 1107 00:59:15,490 --> 00:59:17,031 Gallwch wneud beth bynnag yr ydych ei eisiau ag ef. 1108 00:59:17,031 --> 00:59:18,530 Yeah. 1109 00:59:18,530 --> 00:59:21,406 Felly ddamcaniaethol, os ydych chi eisiau, fynd am. 1110 00:59:21,406 --> 00:59:23,338 >> GYNULLEIDFA: [Anghlywadwy] ond nid ydym yn ei wneud mewn gwirionedd 1111 00:59:23,338 --> 00:59:25,994 Mae angen cofio o angenrheidrwydd gwerth, o fewn ein gallu yn unig 1112 00:59:25,994 --> 00:59:28,914 defnyddio'r at uchaf neu i swyddogaeth is, dde? 1113 00:59:28,914 --> 00:59:29,580 ATHRO: Yeah. 1114 00:59:29,580 --> 00:59:32,740 Ond os ydym yn rhoi i chi cwestiwn sy'n dweud ysgrifennwch at uchaf, 1115 00:59:32,740 --> 00:59:34,350 yna byddai angen i chi ei ysgrifennu. 1116 00:59:34,350 --> 00:59:38,150 Felly, gallwch chi guys gymryd yn ganiataol y byddwch yn guys yn cael mynediad i'r holl swyddogaethau, 1117 00:59:38,150 --> 00:59:41,523 ond os ydych am eu defnyddio i uchaf neu i yn is, beth sy'n rhaid i chi ei wneud hefyd? 1118 00:59:41,523 --> 00:59:43,840 >> GYNULLEIDFA: [Anghlywadwy] defnyddiwch CS50 [Anghlywadwy] 1119 00:59:43,840 --> 00:59:44,840 >> ATHRO: A yw'n CS50.h? 1120 00:59:44,840 --> 00:59:47,320 1121 00:59:47,320 --> 00:59:48,310 Byddwch yn ofalus yno. 1122 00:59:48,310 --> 00:59:50,640 >> Felly, er mwyn uchaf, i ostwng, yn uwch, yn is, 1123 00:59:50,640 --> 00:59:52,990 swyddogaethau sy'n cynnwys trin llinyn yn 1124 00:59:52,990 --> 00:59:55,490 i gyd o fewn naill ai yn y ASCII neu o fewn y llyfrgell mathemateg 1125 00:59:55,490 --> 00:59:57,350 neu o fewn y llyfrgell llinyn. 1126 00:59:57,350 --> 01:00:00,290 Felly, os ydych yn defnyddio rhai guys swyddogaethau, byddwch yn ofalus i gofio 1127 01:00:00,290 --> 01:00:01,451 i gynnwys y pennawd. 1128 01:00:01,451 --> 01:00:03,950 Felly efallai hefyd yn rhywbeth i chi am eu cynnwys yn eich taflen, 1129 01:00:03,950 --> 01:00:04,892 beth yw'r pennawd? 1130 01:00:04,892 --> 01:00:06,600 Beth yw'r llyfrgelloedd yr ydych wedi bod yn defnyddio? 1131 01:00:06,600 --> 01:00:08,550 Pa swyddogaethau y tu mewn llyfrgelloedd hynny? 1132 01:00:08,550 --> 01:00:09,230 Mae'n bwysig. 1133 01:00:09,230 --> 01:00:10,420 >> Yeah? 1134 01:00:10,420 --> 01:00:12,570 >> GYNULLEIDFA: A allai rydym yn unig cop allan a gwneud hashtag 1135 01:00:12,570 --> 01:00:14,955 trwy'r gwbl pob llythyr rydym wedi erioed 1136 01:00:14,955 --> 01:00:17,340 gweld fel ar bob un o'r cwestiynau? 1137 01:00:17,340 --> 01:00:18,320 >> ATHRO: Gallech. 1138 01:00:18,320 --> 01:00:20,361 Nid wyf yn gwybod pa mor hapus rydym yn mynd i fod i raddfa 1139 01:00:20,361 --> 01:00:25,090 hynny cwis pan fydd pob darn o god ddwywaith cyn belled ag y mae angen iddo fod. 1140 01:00:25,090 --> 01:00:27,200 Nid wyf yn gwybod, gallem cymryd oddi ar bwynt ar gyfer arddull. 1141 01:00:27,200 --> 01:00:28,790 Ond ddamcaniaethol eich Byddai cod fod yn iawn. 1142 01:00:28,790 --> 01:00:30,915 Gallech guys cop allan a dim ond cynnwys popeth. 1143 01:00:30,915 --> 01:00:32,044 Mae hynny'n iawn hefyd, yeah. 1144 01:00:32,044 --> 01:00:32,960 GYNULLEIDFA: [Anghlywadwy]. 1145 01:00:32,960 --> 01:00:33,270 ATHRO: Yeah. 1146 01:00:33,270 --> 01:00:34,900 Byddwn yn awgrymu peidio â gwneud hynny er. 1147 01:00:34,900 --> 01:00:35,505 Yeah. 1148 01:00:35,505 --> 01:00:36,130 GYNULLEIDFA: Cool. 1149 01:00:36,130 --> 01:00:36,620 ATHRO: Cwestiwn da. 1150 01:00:36,620 --> 01:00:37,480 GYNULLEIDFA: Felly, mae'r sefyllfa waethaf. 1151 01:00:37,480 --> 01:00:38,563 ATHRO: Yr achos gwaethaf. 1152 01:00:38,563 --> 01:00:40,350 Os byddwch yn anghofio yn llwyr, gallech wneud hynny. 1153 01:00:40,350 --> 01:00:40,850 Yeah. 1154 01:00:40,850 --> 01:00:43,870 1155 01:00:43,870 --> 01:00:45,400 >> Yep, cod yn iawn yno. 1156 01:00:45,400 --> 01:00:49,176 Roeddwn i'n arfer n yn lle cyfrif, ond, byddwch yn yn gwybod, beth bynnag arnofio eich cwch. 1157 01:00:49,176 --> 01:00:51,092 GYNULLEIDFA: Arhoswch, felly rydym yn Ni fyddai'n rhaid i hashtag 1158 01:00:51,092 --> 01:00:53,460 cynnwys oherwydd ein bod yn ddechrau yn y int? 1159 01:00:53,460 --> 01:00:56,150 1160 01:00:56,150 --> 01:00:59,924 >> ATHRO: Yeah, Fi jyst cymryd yn ganiataol bod gofynnwyd i ni ysgrifennu y swyddogaeth. 1161 01:00:59,924 --> 01:01:02,340 Os ydych yn awyddus i fod yn ddiogel, i chi yn ôl pob tebyg y gallai ei roi yno. 1162 01:01:02,340 --> 01:01:05,650 Ond yr wyf nid yn unig oedd yn trafferthu, yeah. 1163 01:01:05,650 --> 01:01:09,919 >> Dydw i ddim hyd yn oed yn gwybod os ydych yn Mae angen i unrhyw lyfrgell ar gyfer hyn. 1164 01:01:09,919 --> 01:01:12,710 Oherwydd nad ydych yn argraffu 'n sylweddol allan unrhyw beth neu unrhyw beth, dde? 1165 01:01:12,710 --> 01:01:16,500 1166 01:01:16,500 --> 01:01:19,568 Yeah, nid wyf yn gwybod os bydd angen llyfrgell. 1167 01:01:19,568 --> 01:01:22,400 >> IAWN. 1168 01:01:22,400 --> 01:01:26,020 Mae hyn hefyd ychydig yn fwy ar hyd y llinellau o drin cof. 1169 01:01:26,020 --> 01:01:27,400 Mae'r math hwn o ychydig yn anodd. 1170 01:01:27,400 --> 01:01:28,960 Meddyliwch am hyn. 1171 01:01:28,960 --> 01:01:30,580 Mae gennych swyddogaeth o'r enw func. 1172 01:01:30,580 --> 01:01:33,570 Gallwn fod wedi enwi ei beth bynnag, ond yr wyf yn dewis ei enwi func. 1173 01:01:33,570 --> 01:01:36,000 Yr wyf wedi ei uwchlaw fy mhrif. 1174 01:01:36,000 --> 01:01:39,790 Cofiwch, rydych am ei gael swyddogaeth ar ôl eich prif, 1175 01:01:39,790 --> 01:01:42,370 ydych am wneud yn siŵr eich bod yn cynnwys y prototeip y top. 1176 01:01:42,370 --> 01:01:45,750 >> Ond yn yr achos hwn ei fod mor fyr fy mod yn teimlo fy mod gallwn jyst 1177 01:01:45,750 --> 01:01:47,260 dylech ei gynnwys ar ben y brif. 1178 01:01:47,260 --> 01:01:51,170 Nid oedd angen i mi gael y prototeip, gan ei fod eisoes yn ysgrifennu uchod. 1179 01:01:51,170 --> 01:01:55,430 Felly yr holl rwy'n ei wneud yn fy mhrif swyddogaeth yn creu cyfanrif x yn hafal 10. 1180 01:01:55,430 --> 01:02:00,490 Rydw i'n galw fy swyddogaeth func, ac yna printio i fyny rhywbeth. 1181 01:02:00,490 --> 01:02:02,840 >> Ac yna dyna mewn gwirionedd pa func yn ei wneud. 1182 01:02:02,840 --> 01:02:04,340 Rydych guys yn awyddus i feddwl drwy hyn. 1183 01:02:04,340 --> 01:02:05,423 Oherwydd ei fod yn ychydig yn anodd. 1184 01:02:05,423 --> 01:02:07,220 Mae'n iawn, anodd iawn, mewn gwirionedd. 1185 01:02:07,220 --> 01:02:09,549 Meddyliwch beth mae hyn Byddai rhaglen yn outputting. 1186 01:02:09,549 --> 01:02:10,840 Byddaf yn rhoi i chi guys ddwy funud. 1187 01:02:10,840 --> 01:03:36,660 1188 01:03:36,660 --> 01:03:37,891 >> Trafodaethau da? 1189 01:03:37,891 --> 01:03:38,853 >> GYNULLEIDFA: Yeah. 1190 01:03:38,853 --> 01:03:39,815 >> ATHRO: Yeah. 1191 01:03:39,815 --> 01:03:42,220 Mae pob hawl, felly mae hyn yn anodd am reswm. 1192 01:03:42,220 --> 01:03:44,845 A dyma pam yr wyf yn awyddus i ddod hwn i sylw pawb. 1193 01:03:44,845 --> 01:03:47,870 1194 01:03:47,870 --> 01:03:51,147 A oes unrhyw un yn awyddus i roi i mi awgrym, ymgais? 1195 01:03:51,147 --> 01:03:52,230 Beth fyddai hyn yn argraffu? 1196 01:03:52,230 --> 01:03:53,930 Hollol iawn os ydych yn anghywir. 1197 01:03:53,930 --> 01:03:55,619 Yeah? 1198 01:03:55,619 --> 01:03:59,483 >> GYNULLEIDFA: Rwy'n credu ei fod 100 a Yna, 10 ar ddwy linell ar wahân. 1199 01:03:59,483 --> 01:04:00,940 >> ATHRO: A 10? 1200 01:04:00,940 --> 01:04:03,154 A oes unrhyw un yn cael unrhyw dyfaliad eraill? 1201 01:04:03,154 --> 01:04:04,150 Yeah? 1202 01:04:04,150 --> 01:04:09,040 >> GYNULLEIDFA: Efallai dim ond 10 achos Nid yw func yn dychwelyd unrhyw beth? 1203 01:04:09,040 --> 01:04:11,610 >> ATHRO: OK, felly rydym yn wedi dyfalu rhif un 1204 01:04:11,610 --> 01:04:14,990 yw y rhif dyfalu dau yn jyst yn mynd i argraffu 10. 1205 01:04:14,990 --> 01:04:17,623 A oes unrhyw un yn cael unrhyw dyfaliad eraill? 1206 01:04:17,623 --> 01:04:19,654 IAWN. 1207 01:04:19,654 --> 01:04:21,070 Felly gadewch i ni gerdded drwy hyn, dde? 1208 01:04:21,070 --> 01:04:23,903 Pryd bynnag y byddwch yn cael darn o god, peidiwch â edrych arno ac yn bod fel, 1209 01:04:23,903 --> 01:04:25,060 AH, dyna gymaint stwff! 1210 01:04:25,060 --> 01:04:26,460 Rydw i mor ddryslyd! 1211 01:04:26,460 --> 01:04:28,220 Fel, dawelu eich hun i lawr. 1212 01:04:28,220 --> 01:04:31,602 Dim ond yn gwybod bod gallech jyst edrych drwy linell wrth linell cod. 1213 01:04:31,602 --> 01:04:32,310 Dyna i gyd y mae. 1214 01:04:32,310 --> 01:04:33,840 Mae fel darllen llyfr. 1215 01:04:33,840 --> 01:04:38,000 >> Felly, gyda unrhyw swyddogaeth, rydym bob amser yn dechrau ym mhrif. 1216 01:04:38,000 --> 01:04:40,860 Felly rydym yn mynd i dechrau am brif ddi-rym int, 1217 01:04:40,860 --> 01:04:43,010 hyd yn oed y rhaglen eisoes yn rhedeg i lawr, dde? 1218 01:04:43,010 --> 01:04:45,070 Dechreuwch ar yn y prif ddi-rym. 1219 01:04:45,070 --> 01:04:48,030 Int x yn hafal 10. 1220 01:04:48,030 --> 01:04:50,400 >> Felly, yr wyf i'n mynd i ddileu hyn. 1221 01:04:50,400 --> 01:04:55,179 1222 01:04:55,179 --> 01:04:58,470 Rydw i'n mynd i dynnu llun y cof yn unig er mwyn i chi Gall guys fath o weld beth sy'n digwydd. 1223 01:04:58,470 --> 01:05:02,190 >> Cofiwch lawr yma rydym wedi ein pentwr? 1224 01:05:02,190 --> 01:05:05,810 Yma rydym wedi ein domen rhywle i fyny yma. 1225 01:05:05,810 --> 01:05:07,470 Stack yn tyfu i fyny, dde? 1226 01:05:07,470 --> 01:05:10,150 Ac o fewn y pentwr, mae gennych y prif gyflenwad yn gweithredu yn ogystal â 1227 01:05:10,150 --> 01:05:12,230 pob un prif gyflenwad newidynnau lleol. 1228 01:05:12,230 --> 01:05:14,310 >> Felly dyma, int x hafal i 10. 1229 01:05:14,310 --> 01:05:17,670 O fewn ein prif swyddogaeth rydym yn gan greu newidyn a elwir yn x. 1230 01:05:17,670 --> 01:05:20,590 Rydym yn pennu hynny hafal i 10. 1231 01:05:20,590 --> 01:05:24,200 Yma mae gennych rai x, ac rydych yn pennu bod hafal i 10, i'r dde, 1232 01:05:24,200 --> 01:05:25,400 o fewn prif. 1233 01:05:25,400 --> 01:05:27,430 Mae pawb yn dda? 1234 01:05:27,430 --> 01:05:28,070 >> Swyddogaeth. 1235 01:05:28,070 --> 01:05:30,330 Felly nawr, o fewn ein prif swyddogaeth, rydym yn galw 1236 01:05:30,330 --> 01:05:31,810 y swyddogaeth yr ydym wedi ysgrifennu uchod. 1237 01:05:31,810 --> 01:05:34,550 Felly, rydym yn awr yn mynd i mewn yn yr ail swyddogaeth. 1238 01:05:34,550 --> 01:05:40,120 Rydym yn mynd i greu un arall newidyn int x yn hafal 100. 1239 01:05:40,120 --> 01:05:42,410 Beth sy'n digwydd yma yn y pentwr? 1240 01:05:42,410 --> 01:05:46,980 Beth sy'n digwydd pan fyddwch yn galw am swyddogaeth sy'n creu newidynnau newydd? 1241 01:05:46,980 --> 01:05:50,038 Beth fydd yn digwydd yma yn y pentwr? 1242 01:05:50,038 --> 01:05:52,134 >> GYNULLEIDFA: [Anghlywadwy] pentyrrau ar ei ben? 1243 01:05:52,134 --> 01:05:52,800 ATHRO: Yeah. 1244 01:05:52,800 --> 01:05:54,050 Felly mae'n mewn gwirionedd yn creu copi. 1245 01:05:54,050 --> 01:05:56,560 1246 01:05:56,560 --> 01:05:57,740 Ac mae'n fath o pentyrrau ar ei ben. 1247 01:05:57,740 --> 01:06:00,700 Meddyliwch am y pentwr stack-- o lyfrau, pentwr o unrhyw beth. 1248 01:06:00,700 --> 01:06:06,520 Pentyrrau ar ei ben, yn gyntaf yn olaf allan, bara i mewn, cyntaf allan. 1249 01:06:06,520 --> 01:06:08,471 >> Felly mae'n mynd i greu x yma. 1250 01:06:08,471 --> 01:06:12,080 1251 01:06:12,080 --> 01:06:14,450 >> Mae hynny'n mynd i gael yr holl newidynnau funcs. 1252 01:06:14,450 --> 01:06:14,950 Great. 1253 01:06:14,950 --> 01:06:20,980 Felly nawr mae gennym ddau wahanol x bod yn cynrychioli dau beth gwahanol iawn. 1254 01:06:20,980 --> 01:06:24,470 Yna, rydym yn mynd i argraffu allan y cyfanrif o x. 1255 01:06:24,470 --> 01:06:26,430 Felly gadewch i argraffu 100, dde? 1256 01:06:26,430 --> 01:06:29,389 Oherwydd dyma ei fod yn 100. 1257 01:06:29,389 --> 01:06:31,680 Felly dyna'r peth cyntaf ei fod yn mynd i'w hargraffu. 1258 01:06:31,680 --> 01:06:35,710 Gan fod hyn ddim yn dychwelyd swyddogaeth, Erbyn hyn swyddogaeth honno, y llinell yn y prif 1259 01:06:35,710 --> 01:06:37,070 yn cael ei wneud. 1260 01:06:37,070 --> 01:06:39,160 Mae pawb yn dda gyda mi hyd yn hyn? 1261 01:06:39,160 --> 01:06:43,034 >> Felly, rydym yn awr drwy ddau allan o'r tair llinell o'n prif swyddogaeth. 1262 01:06:43,034 --> 01:06:44,450 Nawr rydym yn mynd at y drydedd linell. 1263 01:06:44,450 --> 01:06:46,350 Rydym yn mynd i printf. 1264 01:06:46,350 --> 01:06:48,222 Beth yw x hwn o fewn prif? 1265 01:06:48,222 --> 01:06:49,263 Beth mae hynny'n ei gynrychioli? 1266 01:06:49,263 --> 01:06:52,720 1267 01:06:52,720 --> 01:06:54,280 >> Pa werth yw x yn awr? 1268 01:06:54,280 --> 01:06:55,220 >> GYNULLEIDFA: 100. 1269 01:06:55,220 --> 01:06:56,799 >> ATHRO: Mae'n 100? 1270 01:06:56,799 --> 01:06:57,590 GYNULLEIDFA: Still 10. 1271 01:06:57,590 --> 01:06:58,878 ATHRO: Still 10. 1272 01:06:58,878 --> 01:07:00,870 Yeah. 1273 01:07:00,870 --> 01:07:06,810 Oherwydd cofiwch, o fewn ein func, x yn hafal 100. 1274 01:07:06,810 --> 01:07:09,690 Ond os ydym yn dychwelyd yn ôl at ein prif swyddogaeth, 1275 01:07:09,690 --> 01:07:12,440 y newidyn yn cael ei storio mewn le gwahanol ar ein corn. 1276 01:07:12,440 --> 01:07:16,250 >> Felly nawr mae angen i ni fynd yn ôl i'r prif stac, prif gyflenwad newidynnau lleol. 1277 01:07:16,250 --> 01:07:18,460 A dyma x yn hafal i 10. 1278 01:07:18,460 --> 01:07:20,300 Ac felly rydym yn mynd i argraffu 10. 1279 01:07:20,300 --> 01:07:22,530 >> Felly roedd hi'n hollol gywir. 1280 01:07:22,530 --> 01:07:25,053 Rydym yn mynd i gael y allbwn o 100 a 10. 1281 01:07:25,053 --> 01:07:25,553 Yeah? 1282 01:07:25,553 --> 01:07:28,700 GYNULLEIDFA: Pan fyddwch yn malloc, a yw'n y domen neu y pentwr sydd yn [Anghlywadwy]? 1283 01:07:28,700 --> 01:07:31,950 ATHRO: Pan fyddwch yn malloc, eich bod yn cymryd cof o'r domen 1284 01:07:31,950 --> 01:07:32,830 ac yn dyrannu ei. 1285 01:07:32,830 --> 01:07:34,950 Fel nad oes gennych i chwarae o gwmpas gyda unrhyw un o hyn. 1286 01:07:34,950 --> 01:07:38,100 Felly, yr wyf yn dyfalu y bwyd parod mwy yma yn rhywbeth a elwir yn gwmpas. 1287 01:07:38,100 --> 01:07:39,650 >> I'r rhai ohonoch a oedd mewn y sesiwn adolygu neithiwr, 1288 01:07:39,650 --> 01:07:41,080 buom yn siarad yn fyr am hyn. 1289 01:07:41,080 --> 01:07:45,380 Scope yn diffinio sut a pan fydd eich newidynnau yn bodoli. 1290 01:07:45,380 --> 01:07:48,050 Neu o fewn yr hyn fframiau gwneud eich newidynnau yn bodoli. 1291 01:07:48,050 --> 01:07:51,690 >> 'N bert lawer y synnwyr y fawd yn gyffredinol yw, mae eich variables-- os byddwch yn eu creu 1292 01:07:51,690 --> 01:07:56,660 y tu mewn braces-- cyrliog maent yn bodoli Dim ond y tu mewn bresys cyrliog hynny. 1293 01:07:56,660 --> 01:08:00,312 >> Felly, er enghraifft, yn ein swyddogaeth func, byddwch yn gweld y ddau bresys. 1294 01:08:00,312 --> 01:08:02,020 Os ydych yn creu unrhyw beth tu mewn iddo, 1295 01:08:02,020 --> 01:08:06,500 tebygolrwydd yw yr holl ydych yn ei wneud yw creu pentwr a storio nad oes. 1296 01:08:06,500 --> 01:08:07,430 Un peth yn y prif. 1297 01:08:07,430 --> 01:08:09,950 Dyna dim ond ei storio y tu mewn o brif. 1298 01:08:09,950 --> 01:08:13,560 >> Hefyd ydych am fod yn iawn, yn ofalus iawn yma. 1299 01:08:13,560 --> 01:08:18,310 Gan fod cwmpas hefyd yn rhoi benthyg ei hun i enghreifftiau gwahanol. 1300 01:08:18,310 --> 01:08:25,950 Felly, er enghraifft ar gyfer dolen, er int i dychwelyd 0. 1301 01:08:25,950 --> 01:08:28,460 Rwyf yn llai na, nid wyf yn gwybod, 10. 1302 01:08:28,460 --> 01:08:32,111 Rwyf yn ogystal a mwy. 1303 01:08:32,111 --> 01:08:34,560 A bod gennych cod tu mewn iddo, dde? 1304 01:08:34,560 --> 01:08:38,830 >> Ble mae newidyn hwn, i, mewn gwirionedd yn bodoli yn unig? 1305 01:08:38,830 --> 01:08:40,510 Dim ond tu mewn i'ch am ddolen. 1306 01:08:40,510 --> 01:08:43,640 Felly, yr wyf yn siwr llawer ohonoch guys yn cael Mae'n debyg dod ar draws gwall hwn pan 1307 01:08:43,640 --> 01:08:45,930 rydych chi'n ei wneud rhaglenni yn eich psets. 1308 01:08:45,930 --> 01:08:49,990 Faint ohonoch chi guys wedi ceisio defnyddio i y tu allan i ar gyfer dolen ac roedd gwall? 1309 01:08:49,990 --> 01:08:53,310 Fel cyfanrifau unreferenced neu rywbeth fel 'na? 1310 01:08:53,310 --> 01:08:56,069 >> Y rheswm pam mae hynny'n digwydd oherwydd dyma eich bod yn 1311 01:08:56,069 --> 01:08:59,109 gan greu rhywbeth mai dim ond yn bodoli o fewn eich am ddolen. 1312 01:08:59,109 --> 01:09:01,972 Ac os ydych yn ceisio ei ddefnyddio, nid fi yn gwneud mewn gwirionedd yn bodoli y tu allan iddo. 1313 01:09:01,972 --> 01:09:04,930 Felly y bôn cyfrifiadur yn dweud, yr wyf yn nid ydynt yn gwybod beth yr ydych yn sôn amdano. 1314 01:09:04,930 --> 01:09:08,689 Mae'r holl wn i yw bod fi oedd yma, ond erbyn hyn mwyach. 1315 01:09:08,689 --> 01:09:12,580 >> Felly, pe bawn yn creu ar gyfer dolen y tu mewn, dde? 1316 01:09:12,580 --> 01:09:19,080 Ac yr wyf i'n mynd i greu un arall, fel int j, ac wedi ei wneud beth bynnag. 1317 01:09:19,080 --> 01:09:23,689 Ac mae gennych god tu mewn hynny dolen, j ond yn bodoli yma. 1318 01:09:23,689 --> 01:09:26,029 Ond mae hynny hefyd yn bodoli o fewn i. 1319 01:09:26,029 --> 01:09:29,310 Ac felly j ond yn bodoli o fewn hon ar gyfer dolen, 1320 01:09:29,310 --> 01:09:33,850 tra fi bodoli yn yr holl beth. 1321 01:09:33,850 --> 01:09:34,500 >> Mae pawb yn glir? 1322 01:09:34,500 --> 01:09:37,416 Yr un peth â'r datganiadau amodol os ydych chi am greu unrhyw beth. 1323 01:09:37,416 --> 01:09:40,390 Yr un peth gyda dolenni tra os ydych am greu unrhyw beth. 1324 01:09:40,390 --> 01:09:42,390 Mae hynny'n rhywbeth i fod yn iawn, yn ofalus iawn am. 1325 01:09:42,390 --> 01:09:45,681 Felly, mae hyn yn broblem wirioneddol dda yn y synhwyro ei fod yn dangos dau beth. 1326 01:09:45,681 --> 01:09:47,160 Roedd yn dangos yn gyntaf, cwmpas. 1327 01:09:47,160 --> 01:09:49,550 Ac mae'n dangos hefyd yn dyrannu cof. 1328 01:09:49,550 --> 01:09:54,130 Oherwydd dylech chi guys yn gwybod bod swyddogaethau yn tyfu i fyny yn y pentwr. 1329 01:09:54,130 --> 01:09:56,710 A bod pan fyddwch yn ffonio swyddogaethau, rydych yn creu 1330 01:09:56,710 --> 01:09:59,060 hanfod yn pentwr newydd o gof. 1331 01:09:59,060 --> 01:10:02,100 Mae hynny'n wahanol iawn i beth yw eich cof prif gyflenwad yw. 1332 01:10:02,100 --> 01:10:03,300 Yeah. 1333 01:10:03,300 --> 01:10:03,800 Whew! 1334 01:10:03,800 --> 01:10:05,470 Mae pawb yn iawn ar hynny? 1335 01:10:05,470 --> 01:10:06,750 Dyna oedd ddryslyd. 1336 01:10:06,750 --> 01:10:09,380 Pynciau da iawn i fynd drosodd, oherwydd eich bod yn ôl pob tebyg 1337 01:10:09,380 --> 01:10:12,255 mynd i gael rhywfaint o anodd pethau fel hynny ar y cwis. 1338 01:10:12,255 --> 01:10:13,350 Yeah. 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 'N annhymerus' yn rhoi i chi gael 100 ar un llinell ac yna 10 ar y llall. 1342 01:10:18,430 --> 01:10:21,468 Yeah, yn dda iawn. 1343 01:10:21,468 --> 01:10:26,350 >> OK, yn awr y byddwch yn guys yn cael y cyfle i fod yn CA. 1344 01:10:26,350 --> 01:10:30,600 Byddwch yn cael i ateb yr holl hyfryd negeseuon e-bost yr wyf weithiau'n cael. 1345 01:10:30,600 --> 01:10:34,290 >> Felly, Annwyl Andi, yr wyf yn gweld yr wyf yn meddwl rhywbeth o'i yn mynd o'i le ar fy compiler. 1346 01:10:34,290 --> 01:10:37,910 Rwy'n sicr bod fy cod yn gywir, ond yr wyf yn cadw cael nam segmentu 1347 01:10:37,910 --> 01:10:39,074 bob tro yr wyf yn rhedeg. 1348 01:10:39,074 --> 01:10:39,740 Beth sy'n Digwydd? 1349 01:10:39,740 --> 01:10:42,844 Helpwch, llawer o gariad. 1350 01:10:42,844 --> 01:10:45,740 1351 01:10:45,740 --> 01:10:49,410 >> Os ydych yn guys yn cael rhywbeth fel bod sut y byddech yn ymateb? 1352 01:10:49,410 --> 01:10:51,860 Mae'r rhain yn gyffredin iawn mewn gwirionedd gwestiynau byddwn yn gofyn i chi. 1353 01:10:51,860 --> 01:10:54,090 Yw os, byddwn yn rhoi i chi yn senario, byddwn yn rhoi i ni 1354 01:10:54,090 --> 01:10:56,350 eich dyfalu gorau yn yr hyn sy'n digwydd. 1355 01:10:56,350 --> 01:11:00,710 Gall unrhyw un gael drywanu ar yr hyn sy'n mynd ymlaen? 1356 01:11:00,710 --> 01:11:02,654 Yeah? 1357 01:11:02,654 --> 01:11:06,056 >> GYNULLEIDFA: dereferenced Efallai y null, rhywbeth fel pwyntydd 1358 01:11:06,056 --> 01:11:08,924 yn pwyntio at rywbeth null. 1359 01:11:08,924 --> 01:11:11,590 ATHRO: Yeah, byddwn hynny fod yn enghraifft o pryd y byddai hynny'n digwydd. 1360 01:11:11,590 --> 01:11:14,467 Ond beth yw'r llun mwy o'r hyn sy'n digwydd yma? 1361 01:11:14,467 --> 01:11:17,050 GYNULLEIDFA: A yw'n eich bod yn ceisio i gael mynediad i gof nad ydych yn 1362 01:11:17,050 --> 01:11:18,175 i fod i gael mynediad i? 1363 01:11:18,175 --> 01:11:19,200 ATHRO: Yn union. 1364 01:11:19,200 --> 01:11:24,800 Felly meddyliwch am nam SEG, oddi ar terfynau, ardal gyfyngedig er cof 1365 01:11:24,800 --> 01:11:27,780 na ddylech fod yn cyffwrdd. 1366 01:11:27,780 --> 01:11:31,670 >> Felly, 'n bert lawer pan fyddwch yn ceisio i index-- fel er enghraifft, 1367 01:11:31,670 --> 01:11:34,110 eich bod wedi datgan amrywiaeth o sero i naw. 1368 01:11:34,110 --> 01:11:37,360 Ond yr ydych yn ceisio cyffwrdd y 10fed gwerth, nid oes gennych fynediad at hynny. 1369 01:11:37,360 --> 01:11:38,694 Oherwydd nad ydych wedi datgan ei. 1370 01:11:38,694 --> 01:11:40,943 Ac felly eich cyfrifiadur yn mynd edrych ar hynny fod yn debyg, 1371 01:11:40,943 --> 01:11:43,440 uh oh, yr ydych yn ceisio i fynd y tu allan i ffiniau mynegai. 1372 01:11:43,440 --> 01:11:45,270 Rydw i'n mynd i roi i chi nam segmentu. 1373 01:11:45,270 --> 01:11:46,590 >> Meddyliwch amdano fel segment, dde? 1374 01:11:46,590 --> 01:11:49,665 Mae segment ychwanegol, mae'r diffyg yn pan fyddwch yn ceisio torri rywbeth 1375 01:11:49,665 --> 01:11:50,790 ac ni ddylech fod yno. 1376 01:11:50,790 --> 01:11:53,660 Fai segmentu yw unrhyw adeg byddwch yn ceisio cyffwrdd pethau 1377 01:11:53,660 --> 01:11:54,970 na ddylech fod yn cyffwrdd. 1378 01:11:54,970 --> 01:11:56,815 >> Felly enghreifftiau cyffredin yw mynegai. 1379 01:11:56,815 --> 01:11:58,940 Wrth gwrs, os ydych yn ceisio i gyffwrdd a oedd yn null, 1380 01:11:58,940 --> 01:12:00,220 Byddai hynny hefyd yn gweithio cystal. 1381 01:12:00,220 --> 01:12:02,300 Os bydd eich pwyntydd yn ceisio cyffwrdd pethau na ddylid cyffwrdd, 1382 01:12:02,300 --> 01:12:03,730 Gallai hynny hefyd yn gweithio cystal. 1383 01:12:03,730 --> 01:12:07,120 Mae'r rhan fwyaf fel arfer wnewch chi helpu gweld hyn mewn amrywiaeth. 1384 01:12:07,120 --> 01:12:07,740 Mae pawb yn dda? 1385 01:12:07,740 --> 01:12:10,374 >> GYNULLEIDFA: Felly os ydych am i gael mynediad i'r pwynt 10fed 1386 01:12:10,374 --> 01:12:12,290 ac mae dim ond terfyn o naw neu rywbeth. 1387 01:12:12,290 --> 01:12:13,160 >> ATHRO: Yeah, yn union. 1388 01:12:13,160 --> 01:12:13,660 'N bert lawer. 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 >> Annwyl Andi. 1393 01:12:19,920 --> 01:12:23,440 Felly, mae gennym y rhain gwych pethau a elwir math. 1394 01:12:23,440 --> 01:12:25,472 Os Cyfuno sort-- wrth i ni Gwelodd yn enghraifft pan 1395 01:12:25,472 --> 01:12:27,180 David wnaeth y cyfan beth yn class-- pam, 1396 01:12:27,180 --> 01:12:29,760 os yw'n mor llawer cyflymach nag unrhyw un o'r mathau eraill, 1397 01:12:29,760 --> 01:12:33,310 pam yr ydym yn hyd yn oed yn trafferthu gan wybod unrhyw rai o'r mathau eraill? 1398 01:12:33,310 --> 01:12:35,100 >> Beth yw y cwestiwn hwn mewn gwirionedd yn gofyn i chi? 1399 01:12:35,100 --> 01:12:36,659 Beth yw'r tri word-- 1400 01:12:36,659 --> 01:12:37,950 GYNULLEIDFA: Beth yw'r cyfaddawd? 1401 01:12:37,950 --> 01:12:38,530 ATHRO: Yn union. 1402 01:12:38,530 --> 01:12:39,946 Dyna beth mae'r cwestiwn yn ei ofyn. 1403 01:12:39,946 --> 01:12:43,682 Beth yw'r cyfaddawd rhwng Cyfuno fath penillion unrhyw mathau eraill? 1404 01:12:43,682 --> 01:12:45,850 >> GYNULLEIDFA: Cymryd cof, dde? 1405 01:12:45,850 --> 01:12:47,720 >> ATHRO: A ydych yn esbonio bod ychydig yn fwy? 1406 01:12:47,720 --> 01:12:49,490 Yn gyntaf gadewch i ni egluro storio Cyfuno. 1407 01:12:49,490 --> 01:12:50,970 Sut mae Cyfuno fath yn gweithio? 1408 01:12:50,970 --> 01:12:55,220 >> GYNULLEIDFA: Felly mae'n gweithio drwy rhannu popeth i mewn i hanner 1409 01:12:55,220 --> 01:13:00,660 ac yna roi at ei gilydd ac ailddyrannu mewn trefn, 1410 01:13:00,660 --> 01:13:02,862 fel bob tro y byddwch yn uno y setiau. 1411 01:13:02,862 --> 01:13:03,820 ATHRO: 'N bert lawer. 1412 01:13:03,820 --> 01:13:06,861 Felly gallaf dynnu hyn allan, ond byddai'n cymryd pum munud i mi dynnu allan. 1413 01:13:06,861 --> 01:13:10,220 Edrych yn ôl ar y sleidiau adran lle rydym yn cynnwys didoli Cyfuno. 1414 01:13:10,220 --> 01:13:10,790 Yn union. 1415 01:13:10,790 --> 01:13:13,406 >> Felly, y ffordd Cyfuno gwaith didoli a yw'n rhannu pethau yn ei hanner, 1416 01:13:13,406 --> 01:13:15,780 ac yna 'i jyst yn edrych ar y Gwerthoedd cyntaf o bob un ohonynt 1417 01:13:15,780 --> 01:13:17,000 ac yn rhoi trefn yn unig hynny. 1418 01:13:17,000 --> 01:13:20,364 Yn barhaus yn creu araeau newydd a rhoi pethau yn fwy a mwy mewn trefn. 1419 01:13:20,364 --> 01:13:23,030 Ac felly er bod hynny'n iawn, iawn gyflym oherwydd it's-- eich bod yn gwybod, 1420 01:13:23,030 --> 01:13:25,380 chwiliad deuaidd yn n log n. 1421 01:13:25,380 --> 01:13:27,880 Rydych yn creu cymaint o gwahanol araeau eich bod yn 1422 01:13:27,880 --> 01:13:29,700 gan ddefnyddio llawer iawn o gof. 1423 01:13:29,700 --> 01:13:33,080 Ac felly er ei bod yn gyflymach, y fasnach off yma yw eich bod yn defnyddio mwy o gof. 1424 01:13:33,080 --> 01:13:38,490 >> Ac felly, awgrym, math a chwiliadau Ymdriniwyd yn llawer mwy eleni 1425 01:13:38,490 --> 01:13:41,610 nag y maent wedi bod yn y blynyddoedd blaenorol. 1426 01:13:41,610 --> 01:13:45,100 Rydych guys ddylai weld bod hadlewyrchu yn unol â hynny ar y cwis. 1427 01:13:45,100 --> 01:13:49,160 Byddwn yn bendant yn treulio amser yn mynd dros yr hyn pob un o'r gwahanol fathau 1428 01:13:49,160 --> 01:13:52,320 yn, chwilio pa mor deuaidd, pa mor llinol o waith chwilio. 1429 01:13:52,320 --> 01:13:54,750 Sut i efallai pseudocode godio rhai sydd allan. 1430 01:13:54,750 --> 01:13:55,950 Beth yw'r amserau rhedeg? 1431 01:13:55,950 --> 01:13:59,210 Rhywbeth fel amseroedd rhedeg yn iawn hawdd i gopïo i lawr ar ddalen nodiadau, 1432 01:13:59,210 --> 01:13:59,710 iawn? 1433 01:13:59,710 --> 01:14:01,420 >> Mae'n anodd iawn pan fyddwch chi'n yn y canol y prawf 1434 01:14:01,420 --> 01:14:02,390 a rhaid i chi ffigur hynny. 1435 01:14:02,390 --> 01:14:03,160 Copïwch i lawr. 1436 01:14:03,160 --> 01:14:05,550 Yr wyf yn gwarantu i chi eich bod yn mynd i angen i wybod hynny. 1437 01:14:05,550 --> 01:14:06,860 Beth yw'r cyfaddawdau? 1438 01:14:06,860 --> 01:14:10,064 Achos gwaethaf, senarios achos gorau gyfer pob un ohonynt, yn cael iawn i wybod. 1439 01:14:10,064 --> 01:14:10,564 Yeah? 1440 01:14:10,564 --> 01:14:12,730 >> GYNULLEIDFA: A oes angen i ni'n yn gwybod sut i roi cod didoli Cyfuno? 1441 01:14:12,730 --> 01:14:15,470 Fel, oes angen i chi i ni cofio'r dychweliadol? 1442 01:14:15,470 --> 01:14:18,950 >> ATHRO: Fi 'n dal yn amau ​​hynny, dim ond oherwydd mae fel weddol gymhleth. 1443 01:14:18,950 --> 01:14:22,282 Ond efallai na fydd yn anymarferol os byddwn yn gofyn i chi ddefnyddio pseudocode 'ii maes. 1444 01:14:22,282 --> 01:14:22,781 Yeah. 1445 01:14:22,781 --> 01:14:25,470 1446 01:14:25,470 --> 01:14:29,170 >> Yep, OK, un yn fwy. 1447 01:14:29,170 --> 01:14:31,387 Gallai hyn fod wedi dod i fyny mewn chi darn olaf mewn ychydig. 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 A wnaeth pawb glywed hynny? 1451 01:14:44,930 --> 01:14:48,360 >> Iawn, felly 'n bert lawer cyntaf i gyd, pa fath o raglen 1452 01:14:48,360 --> 01:14:51,000 fyddai'n rhoi allbwn fel hyn i chi? 1453 01:14:51,000 --> 01:14:54,350 Cofiwch ein bod yn gofyn i chi i ddysgu am y math newydd o offeryn debugging? 1454 01:14:54,350 --> 01:14:57,340 Beth oedd ei enw ef? 1455 01:14:57,340 --> 01:14:59,460 Valgrind, dde 1456 01:14:59,460 --> 01:15:02,600 >> Roedd rhaglen lle gallech ffonio y gallai 1457 01:15:02,600 --> 01:15:05,940 cadw golwg ar yr holl y cof eich bod yn defnyddio yn eich rhaglen a oedd yn digwydd. 1458 01:15:05,940 --> 01:15:11,090 Felly, os oes gennych chi rywbeth, fel, yn bendant colli, 40 bytes mewn un bloc. 1459 01:15:11,090 --> 01:15:14,870 Mae'n debyg nad ydych yn gan gofio i ryddhau ef. 1460 01:15:14,870 --> 01:15:18,710 Oherwydd os ydych yn defnyddio bytes o gof, sy'n golygu eich bod wedi gweld y cof, 1461 01:15:18,710 --> 01:15:20,240 ond nid ydych wedi gallu i ryddhau. 1462 01:15:20,240 --> 01:15:21,948 Felly rydych chi am wneud yn siŵr eich bod chi'n hefyd 1463 01:15:21,948 --> 01:15:31,420 defnyddio free-- mae hynny'n function-- i ryddhau pob 1464 01:15:31,420 --> 01:15:34,930 o'r cof ailddyrannu gan malloc. 1465 01:15:34,930 --> 01:15:35,500 >> Cool. 1466 01:15:35,500 --> 01:15:37,140 Felly sleid hon, bydd yr wyf wedi ei fyny. 1467 01:15:37,140 --> 01:15:41,050 Mae'n ym mhob man yn llawer o darlithoedd, mewn llawer o adran sleidiau. 1468 01:15:41,050 --> 01:15:44,254 Rydych yn wir am wneud yn siŵr 'ch jyst yn gwybod hyn i gyd. 1469 01:15:44,254 --> 01:15:47,170 Naill ai yn eich taflen nodiadau neu os ydych eisiau ei gof iddo, mae croeso i. 1470 01:15:47,170 --> 01:15:48,836 Mae hynny'n iawn, iawn, yn bwysig iawn. 1471 01:15:48,836 --> 01:15:53,200 1472 01:15:53,200 --> 01:15:56,890 >> Hefyd yn dda iawn cwestiwn y gallwn ofyn. 1473 01:15:56,890 --> 01:16:00,320 Pam mae Dewis sort-- edrych ar Dewis sort-- pob un o'r runtimes 1474 01:16:00,320 --> 01:16:02,060 yn cael eu sgwâr n. 1475 01:16:02,060 --> 01:16:06,714 Waeth sut mae'r rhestr yn dod i chi fel, felly pam mae sort-- Dethol 1476 01:16:06,714 --> 01:16:08,630 Byddaf yn rhoi i chi guys 30 ail feddwl am hyn. 1477 01:16:08,630 --> 01:16:10,700 Oherwydd ei fod yn fath o ddryslyd. 1478 01:16:10,700 --> 01:16:12,710 Mae'n cynnwys rhai yn meddwl cysyniadol. 1479 01:16:12,710 --> 01:16:16,470 Pam y byddai amseroedd rhedeg yr un fath yn y sefyllfaoedd gwaethaf a gorau? 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 >> GYNULLEIDFA: Gan fod Dethol fath bob safle neu le yn y amrywiaeth bach hwn 1483 01:16:38,084 --> 01:16:40,350 beth neu beth bynnag. 1484 01:16:40,350 --> 01:16:44,430 Felly hyd yn oed yn y senario achos gorau, hyd yn oed os caiff ei datrys yn berffaith, 1485 01:16:44,430 --> 01:16:47,380 byddai'n rhaid ei fod yn dal i fod yn debyg, OK, un. 1486 01:16:47,380 --> 01:16:49,000 Yn fy lle cyntaf i mi gael un. 1487 01:16:49,000 --> 01:16:50,250 Ac yn mynd drwy bob un ohonynt. 1488 01:16:50,250 --> 01:16:51,249 OK, un yw'r lleiaf. 1489 01:16:51,249 --> 01:16:53,053 Ac yna mae'n mynd eto ac yn debyg, OK, dau 1490 01:16:53,053 --> 01:16:54,594 yw'r lleiaf o holl bethau. 1491 01:16:54,594 --> 01:16:56,804 Ond mae'n dal i orfod gwirio pob un. 1492 01:16:56,804 --> 01:16:57,470 ATHRO: Yeah. 1493 01:16:57,470 --> 01:17:00,490 Felly, er enghraifft, gadewch i ni dim ond dweud rydym wedi rhestr, eisoes yn didoli, 1494 01:17:00,490 --> 01:17:03,390 amrywiaeth 04:59. 1495 01:17:03,390 --> 01:17:07,100 Mae'r ffordd y mathau Dethol yw bod mae'n mynd drwy, mae'n gwiriadau ddau hyn. 1496 01:17:07,100 --> 01:17:08,234 Yna mae'n gwiriadau ddau hynny. 1497 01:17:08,234 --> 01:17:09,650 Ac yna mae'n gwirio, ac mae'n gwirio. 1498 01:17:09,650 --> 01:17:13,285 Mae'n cadw gwirio pob un ohonynt, heb ystyried ai peidio 1499 01:17:13,285 --> 01:17:14,160 'i' datrys mewn gwirionedd. 1500 01:17:14,160 --> 01:17:16,450 Oherwydd dyna syml y ffordd y mae'r math gweithio. 1501 01:17:16,450 --> 01:17:19,530 >> Ac felly y cwestiwn hwn yn fath o fel cwestiwn cysyniadol byddwn yn gofyn. 1502 01:17:19,530 --> 01:17:21,430 Ble yn gyntaf, i chi gwybod beth Dewis math 1503 01:17:21,430 --> 01:17:23,304 yw, ar y dde, i allu i ateb y cwestiwn. 1504 01:17:23,304 --> 01:17:26,200 Mae'n rhaid i chi allu deall gysyniadol beth sy'n mynd ymlaen. 1505 01:17:26,200 --> 01:17:30,760 Ac yna gallwch wneud cais ac yn meddwl, OK gadewch i ni jyst dychmygu sefyllfa waethaf. 1506 01:17:30,760 --> 01:17:32,230 Maen nhw i gyd mewn trefn ddisgynnol. 1507 01:17:32,230 --> 01:17:33,290 Sut y byddai hynny'n effeithio arno? 1508 01:17:33,290 --> 01:17:34,650 >> Beth os yw'n esgynnol trefn? 1509 01:17:34,650 --> 01:17:35,640 Os yw eisoes wedi datrys? 1510 01:17:35,640 --> 01:17:37,240 Sut fyddai'n effeithio ar y runtimes? 1511 01:17:37,240 --> 01:17:40,270 Ac yna Dewis fath, byddwch yn sylwi nad yw'n mewn gwirionedd yn fater. 1512 01:17:40,270 --> 01:17:43,500 Oherwydd eich bod yn gwirio'r holl Gwerthoedd waeth beth yw beth sy'n digwydd. 1513 01:17:43,500 --> 01:17:45,810 >> Ac felly pethau da i'w gofio. 1514 01:17:45,810 --> 01:17:50,290 Pam mae rhai mathau yn wahanol i bobl eraill a'r ffordd orau a sefyllfaoedd gwaethaf posibl 1515 01:17:50,290 --> 01:17:52,740 Byddai effeithio ar bob un ohonynt. 1516 01:17:52,740 --> 01:17:56,700 >> Rydw i'n mynd i daro 'n sylweddol yn y mathau oherwydd bydd hynny ar y cwis. 1517 01:17:56,700 --> 01:17:57,199 Yeah. 1518 01:17:57,199 --> 01:18:00,820 1519 01:18:00,820 --> 01:18:01,320 IAWN. 1520 01:18:01,320 --> 01:18:05,590 Mae chwe munud yn weddill. 1521 01:18:05,590 --> 01:18:09,880 Gallaf gymryd tri munud o gwestiynau. 1522 01:18:09,880 --> 01:18:12,290 Gallaf hefyd hongian o gwmpas ar gyfer fel 20 munud ar ôl adran 1523 01:18:12,290 --> 01:18:13,850 os ydych am ofyn cwestiynau hefyd. 1524 01:18:13,850 --> 01:18:16,330 A oes unrhyw un yn unig wedi 'n sylweddol byr cwestiynau neu faterion cysyniadol 1525 01:18:16,330 --> 01:18:17,360 eu bod yn aneglur ynghylch ar hyn o bryd? 1526 01:18:17,360 --> 01:18:17,832 Yeah? 1527 01:18:17,832 --> 01:18:19,720 >> GYNULLEIDFA: Allwch chi sôn ychydig ychydig am weithredwyr bitwise? 1528 01:18:19,720 --> 01:18:20,280 >> ATHRO: Yeah. 1529 01:18:20,280 --> 01:18:22,446 Gweithredwyr Felly bitwise yn rhywbeth yr ydych yn ôl pob tebyg 1530 01:18:22,446 --> 01:18:24,170 bosibl y bydd yn awyddus i roi ar eich taflen. 1531 01:18:24,170 --> 01:18:27,540 Felly quickly-- Dydw i ddim eisiau i fynd gormod yn fanwl 1532 01:18:27,540 --> 01:18:31,164 gan fod Harvard, yn eu hadolygiad sesiwn, gorchuddio ei fod yn eithaf da. 1533 01:18:31,164 --> 01:18:33,080 Gweithredwr bitwise, mae ' pump ohonynt, dde? 1534 01:18:33,080 --> 01:18:41,370 >> Mae hyn, sef x neu swyddogaeth, mae ampersand, sef y ac. 1535 01:18:41,370 --> 01:18:44,050 Pipe, sef y neu'r. 1536 01:18:44,050 --> 01:18:46,790 Ac yna mae gennych y ddwy gwahanol fathau o sifftiau. 1537 01:18:46,790 --> 01:18:50,610 >> Os byddaf yn rhoi dau werthoedd, os ydych yn Yr wyf yn rhoi i chi, fel, un ac un. 1538 01:18:50,610 --> 01:18:52,390 Beth fyddai'n gwerthuso i? 1539 01:18:52,390 --> 01:18:55,490 Os byddaf yn rhoi i chi wir ac yn wir, yn wir? 1540 01:18:55,490 --> 01:18:56,930 Beth am gywir neu'n anghywir? 1541 01:18:56,930 --> 01:18:57,830 Dal yn wir, dde? 1542 01:18:57,830 --> 01:18:59,762 Oherwydd mae 'na neu'n. 1543 01:18:59,762 --> 01:19:01,220 Byddwn yn fwyaf tebygol o roi rhifau i chi. 1544 01:19:01,220 --> 01:19:03,780 Felly cofiwch, un yn hafal i yn wir, sero hafal ffug. 1545 01:19:03,780 --> 01:19:07,407 Ac efallai y byddwn yn rhoi pethau hyn i chi ac yn gofyn i chi ddweud wrthym beth fydd yn digwydd. 1546 01:19:07,407 --> 01:19:10,240 Harvard yn cwmpasu o fewn y cyntaf 10 munud o'u sesiwn astudio 1547 01:19:10,240 --> 01:19:11,230 mewn gwirionedd, yn dda iawn. 1548 01:19:11,230 --> 01:19:14,260 Felly rydych guys am wneud yn siŵr eich bod yn edrych yn ôl ar hynny. 1549 01:19:14,260 --> 01:19:16,387 >> GYNULLEIDFA: A yw pisa5 mynd i fod ar y cwis? 1550 01:19:16,387 --> 01:19:16,970 ATHRO: Na 1551 01:19:16,970 --> 01:19:18,240 Peidiwch â hyd yn oed yn edrych ar pisa5 ar hyn o bryd. 1552 01:19:18,240 --> 01:19:18,810 Mae'n anodd. 1553 01:19:18,810 --> 01:19:22,830 Nid yn unig yn hyd yn oed yn trafferthu edrych ar pisa5. 1554 01:19:22,830 --> 01:19:25,665 >> Fodd bynnag, gan fod rhai awgrymiadau ac awgrymiadau, yr wyf yn 1555 01:19:25,665 --> 01:19:28,320 yn awgrymu i chi ddechrau pisa5 cyn gynted ag y cwis wedi dod i ben. 1556 01:19:28,320 --> 01:19:30,319 Hwn fydd y anoddaf wythnos, ond yna rydych guys 1557 01:19:30,319 --> 01:19:34,590 Bydd yn cael ei basio ar y bryniau o gwyrdd a gŵn bach rholio, 1558 01:19:34,590 --> 01:19:36,115 ac mae'n iawn. 1559 01:19:36,115 --> 01:19:39,810 >> Mae'r dosbarth hwn yn cael arwyddocaol yn haws ar ôl y pumed pset. 1560 01:19:39,810 --> 01:19:41,560 Oriau swyddfa: GYNULLEIDFA yw Dydd Sul, Dydd Llun? 1561 01:19:41,560 --> 01:19:44,260 ATHRO: Yeah, felly bydd oriau swyddfa y dydd Sul i ddydd Llun ar gyfer yr pset. 1562 01:19:44,260 --> 01:19:47,009 Oriau swyddfa heno yn y bôn Bydd yn unig fod adolygiad ar gyfer y cwis. 1563 01:19:47,009 --> 01:19:50,350 Os oes unrhyw un eisiau dod i mewn a gofyn yr Asesiadau Trafnidiaeth cwestiwn, fe fyddwn ni yno. 1564 01:19:50,350 --> 01:19:53,220 >> Byddaf yn cymryd efallai un yn fwy cwestiwn os oes gan unrhyw un gwestiwn? 1565 01:19:53,220 --> 01:19:53,809 Yeah? 1566 01:19:53,809 --> 01:19:55,850 GYNULLEIDFA: Pan fyddwch chi nodau diffinio, [Anghlywadwy] 1567 01:19:55,850 --> 01:20:00,700 os byddwch yn dweud seren nôd ac yna nesaf, yn gwneud y cyfrifiadur yn awtomatig 1568 01:20:00,700 --> 01:20:03,610 deall eich bod yn gan gyfeirio at pwyntydd arall? 1569 01:20:03,610 --> 01:20:04,580 >> ATHRO: Na 1570 01:20:04,580 --> 01:20:06,710 >> GYNULLEIDFA: Mae'n rhaid i chi relink ynddo [Anghlywadwy]? 1571 01:20:06,710 --> 01:20:09,270 >> ATHRO: Felly y bôn y struct o nôd yw, cofiwch, 1572 01:20:09,270 --> 01:20:12,620 mae fel i chi greu y nôd a yna mae gennych pwyntydd elwir nesaf. 1573 01:20:12,620 --> 01:20:14,630 Mae pob ydych yn ei wneud yw cael strwythur yno. 1574 01:20:14,630 --> 01:20:16,387 Mae'n rhaid i chi aseinio hynny bwyntydd rhywle. 1575 01:20:16,387 --> 01:20:18,470 Felly, nid yw'r cyfrifiaduron yn yn gwybod beth mae'n ei wneud hyd yn hyn. 1576 01:20:18,470 --> 01:20:20,250 Mae'n rhaid i chi mewn gwirionedd yn aseinio iddo pan rydych yn creu eich rhestr cysylltiedig. 1577 01:20:20,250 --> 01:20:22,170 A dyna beth bennaf Bydd pset 5 ar. 1578 01:20:22,170 --> 01:20:24,106 Felly nid oes pryderon am unrhyw un o hawl sydd bellach. 1579 01:20:24,106 --> 01:20:26,380 >> GYNULLEIDFA: Felly nid oes angen i i ni canolbwyntio gormod ar y rhestr cyswllt, dim ond 1580 01:20:26,380 --> 01:20:27,440 y cysyniad cyffredinol? 1581 01:20:27,440 --> 01:20:30,980 >> ATHRO: Dim ond 'n bert lawer staciau, ciwiau, rhestrau cyswllt, coed, tablau hash. 1582 01:20:30,980 --> 01:20:33,639 Dim ond yn gallu gwybod beth ydynt. 1583 01:20:33,639 --> 01:20:35,680 Nid ydym yn mynd i ofyn ydych yn hoffi unrhyw beth penodol 1584 01:20:35,680 --> 01:20:39,300 oherwydd nid ydym wedi gwneud mewn gwirionedd yn pset bod yn cwmpasu unrhyw o hynny eto. 1585 01:20:39,300 --> 01:20:45,540 >> Felly, yn y ddau funud olaf cyn Wyf yn gosod i chi am ddim i ladd y cwis hwn. 1586 01:20:45,540 --> 01:20:49,370 'N bert lawer, fel, meddyliwch am sut bell ydych guys wedi dod yn y dosbarth hwn. 1587 01:20:49,370 --> 01:20:52,820 >> Yr wyf yn cofio pan wythnos dau dosbarth hwn, mae rhai ohonoch chi 1588 01:20:52,820 --> 01:20:55,720 treulio tair awr dŵr ysgrifennu. 1589 01:20:55,720 --> 01:20:57,970 Pa mor hir y byddai'n ei gymryd i chi guys i ysgrifennu dŵr yn awr? 1590 01:20:57,970 --> 01:20:59,670 30 eiliad, efallai? 1591 01:20:59,670 --> 01:21:01,810 Meddyliwch am faint chi guys wedi ei ddysgu. 1592 01:21:01,810 --> 01:21:04,320 CS yn bwnc wirioneddol galed. 1593 01:21:04,320 --> 01:21:06,190 Does dim amheuaeth o hynny. 1594 01:21:06,190 --> 01:21:09,160 Mae'n anodd, dyna pam nad oes neb yn ei astudiaethau. 1595 01:21:09,160 --> 01:21:10,730 Dim ond caled. 1596 01:21:10,730 --> 01:21:11,650 Ac mae'n hollol iawn. 1597 01:21:11,650 --> 01:21:14,150 >> Ac yr wyf yn falch iawn bod mae pawb wedi ei gwneud yn mor bell â hyn. 1598 01:21:14,150 --> 01:21:16,380 Nid yw Psets yn hawdd. 1599 01:21:16,380 --> 01:21:17,790 Maent yn cymryd llawer o amser. 1600 01:21:17,790 --> 01:21:22,580 Rydych guys, byddaf byth yn gofyn i chi ysgrifennu y gêm o 15 neu Vigenere ar y pset. 1601 01:21:22,580 --> 01:21:24,160 Nid oes angen i ddim ond freak gwybod am hynny. 1602 01:21:24,160 --> 01:21:28,080 Yr unig beth rydym ni'n profi yma yw gwerthuso eich gwybodaeth cysyniadol, yn ogystal 1603 01:21:28,080 --> 01:21:31,524 gan fod rhai o'ch sgiliau sylfaenol o godio. 1604 01:21:31,524 --> 01:21:33,440 Mae'r prawf wedi ei gynllunio i fod yn wirioneddol heriol. 1605 01:21:33,440 --> 01:21:36,180 Fel, mae'n cael ei gynllunio am beidio â chi gael 100. 1606 01:21:36,180 --> 01:21:39,880 Mae hefyd wedi'i gynllunio er mwyn i chi yn ôl pob tebyg Nid yw yn gallu gorffen mewn 75 munud. 1607 01:21:39,880 --> 01:21:41,995 A dyna gwbl iawn. 1608 01:21:41,995 --> 01:21:42,870 Rwy'n fyfyriwr fy hun. 1609 01:21:42,870 --> 01:21:45,960 Rwy'n gwybod, rwy'n casáu pan fyddaf yn cerdded allan o cwis yn debyg, cachu. 1610 01:21:45,960 --> 01:21:47,044 Dyna oedd yn anodd iawn. 1611 01:21:47,044 --> 01:21:49,460 Yn ôl pob tebyg beth sy'n mynd i happen-- ac mae hynny'n gwbl iawn, 1612 01:21:49,460 --> 01:21:50,751 Rwy'n dweud wrthych guys ar hyn o bryd. 1613 01:21:50,751 --> 01:21:53,190 Y dull ar y pethau hyn Nid yn uchel o gwbl. 1614 01:21:53,190 --> 01:21:55,360 >> Ac i'r rhai ohonoch sydd wedi bod yn cael, fel, 1615 01:21:55,360 --> 01:21:57,870 grwpiau o dri ar eich setiau problem, nid yw hynny'n golygu eich bod yn 1616 01:21:57,870 --> 01:21:59,536 mynd i gael y cant 60 yn y dosbarth hwn. 1617 01:21:59,536 --> 01:22:01,440 Os ydych yn cael 60% ar y cwis, nad yw'n 1618 01:22:01,440 --> 01:22:03,330 yn golygu eich bod yn mynd i cael D yn y dosbarth hwn. 1619 01:22:03,330 --> 01:22:05,740 Rydym yn gweld, yn enwedig I, am rhai ohonoch yn fy adran, 1620 01:22:05,740 --> 01:22:07,406 Rwy'n gweld pa mor galed yr ydych guys i gyd yn gweithio. 1621 01:22:07,406 --> 01:22:09,190 Ac yr wyf yn cadw golwg ar hynny. 1622 01:22:09,190 --> 01:22:11,420 >> Byddwch guys yn iawn. 1623 01:22:11,420 --> 01:22:14,580 Does dim cof sefydliadol hapusrwydd ar ddiwedd y semester. 1624 01:22:14,580 --> 01:22:16,840 Gan fod yr holl blant Harvard yn dweud eu ffrindiau, oh, byddwch yn iawn. 1625 01:22:16,840 --> 01:22:18,381 Nid oes unrhyw un yn dweud wrthych guys hynny yma. 1626 01:22:18,381 --> 01:22:20,950 Felly, rhaid i mi ddweud wrthych guys hynny yma. 1627 01:22:20,950 --> 01:22:22,280 >> Byddwch guys yn iawn. 1628 01:22:22,280 --> 01:22:24,080 Rydw i mor falch o bob un ohonoch guys. 1629 01:22:24,080 --> 01:22:25,680 Bydd y prawf yn anodd. 1630 01:22:25,680 --> 01:22:28,140 Astudiwch ar ei gyfer, ac ar ôl hynny jyst daflu i ffwrdd. 1631 01:22:28,140 --> 01:22:31,280 Byddwch yn barod i ddysgu pethau newydd. 1632 01:22:31,280 --> 01:22:33,990 A bwyta Candy. 1633 01:22:33,990 --> 01:22:35,940 Rydym wedi cael llawer o candy. 1634 01:22:35,940 --> 01:22:37,760 >> Cael noson dda o gwsg. 1635 01:22:37,760 --> 01:22:40,420 Peidiwch â chysgu, oherwydd Id hynny fod yn wirioneddol ddrwg. 1636 01:22:40,420 --> 01:22:41,490 CS llawer o resymeg. 1637 01:22:41,490 --> 01:22:44,960 Os nad ydych yn cysgu, ni allwch weithredu, ac ni all eich ymennydd weithredu. 1638 01:22:44,960 --> 01:22:48,780 A byddaf yma ar gyfer y 20 nesaf cofnodion os oes unrhyw un eisiau i hongian o gwmpas. 1639 01:22:48,780 --> 01:22:51,150 Rydych guys yn mynd i ladd. 1640 01:22:51,150 --> 01:22:53,000 Pob lwc. 1641 01:22:53,000 --> 01:22:55,663