ATHRO: Felly yr agenda ar gyfer yr wythnos hon, nid yw llawer o bethau. Ond gobeithio iawn, yn ddefnyddiol iawn ac yn berthnasol i chi guys yr wythnos hon. Ond rydym yn mynd i wario efallai 15, 20 munud yn unig yn gyflym yn siarad am restr cyswllt. Rhestrau Link yn mynd i yn cael eu cynnwys ar y cwis. Felly, efallai byddai'n ddefnyddiol iawn i ddysgu ychydig am beth yw hynny. Rydym yn mynd i wario'r enfawr rhan fwyaf o adran heddiw mynd dros cwis sero problemau ymarferol. Ac yna byddwn yn arbed efallai 20, 30 munud ar y diwedd i unrhyw gwestiynau lingering gan unrhyw un. Ac yna, yr olaf bum munud, dw i'n mynd i roi pwmp i fyny araith ar gyfer y cwis. Rydych guys i gyd yn awyddus i fod yma am hynny. Oherwydd ei fod yn mynd i fod yn amser da. Mae pob hawl, felly mae rhai deunydd ar y rhestr gyswllt. Sut maen nhw'n strwythuro fel arfer yn gennych yr hyn a elwir yn nod, dde? Mae gennych y pethau hyn a elwir yn nodau, sef structs. Byddaf yn mynd dros y ffordd i greu yn nod yn y sleid nesaf. Ond yn y bôn i gyd yn gysylltiedig rhestrau yw data sy'n wedi cael ei strung at ei gilydd drwy awgrymiadau. Ac felly y fantais sydd gennym o ddefnyddio rhestr cysylltiedig drosodd, efallai, fel amrywiaeth, yn y ffaith bod yn amrywiaeth arnoch angen un bloc cydgyffwrdd o cof i gyd yn yr un lle, un ar ôl y llall, i allu cael hynny. Tra restr cysylltiedig, gallech rhaid darnau bach ar hap o gof ar hyd a lled eich cyfrifiadur strung at ei gilydd gan awgrymiadau. Ac yn y modd hwn byddwch yn Gellir cael gafael ar wybodaeth sy'n dod un ar ôl y eraill, ar ôl y llall heb fod angen dim ond darn mawr o cof yn eich cyfrifiadur yn rhywle. Ac felly mae hwn yn un o'r prif rhesymau pam yr ydym yn defnyddio rhestr gyswllt. Yn ail, mae'n hawdd iawn i ddeinamig newid maint y rhestr cyswllt oherwydd yn array, pan fyddwch yn datgan arae, â gwerth set benodol i chi. Lets 'ddeud fy mod i eisiau creu amrywiaeth o 10 o gyfanrifau. Yr wyf yn creu amrywiaeth o 10 cyfanrifau, a dyna ni. Mae'n 10. Nid wyf yn gwybod beth i'w wneud ar ôl hynny. Os oeddwn i eisiau ei wneud yn 11, ni all wneud hynny. Os wyf am ei gwneud yn 9, ni all wneud hynny. Tra yn rhestr gyswllt, gallwch ychwanegu a dileu a mewnosod ble bynnag y mynnwch. Gallwch newid maint ddeinamig ar eich strwythuro yma, eich strwythur data. Ac mae hynny'n rhoi llawer i ni mwy o hyblygrwydd ychwanegu nad ydym yn ei wneud fel arfer wedi gyda arrays. Dylai unrhyw un drysu ar sylfaenol Strwythur o sut rhestr gyswllt yn neu pam mae'n rhaid i ni ddefnyddio un dros arae? Yeah, byddwn yn mynd drosodd yn fanwl sut i mewn gwirionedd yn creu un. Ond mae hyn yn unig fath o yr ystyr gyffredinol ar hyn o bryd. Cool. Ac felly yn cael eu strung araeau gilydd o'r rhain bethau bach hyfryd Gelwir nodau. Mae pob cainc yn yn fath o struct. Cofiwch, mae struct yw os ydych yn dymuno i greu math arbennig o newidyn yn C nad yw'n barod yn bodoli, i chi, fel rhaglennydd, Gall mewn gwirionedd yn creu y chi eich hun. Ac felly y math hwn o ddata Gelwir strwythur yn un nod, wedi mewn gwirionedd yn cael ei greu gan ni, yn bodoli o fewn C ar ei ben ei hun. A'r ffordd yr ydych yn greu un yw bod gennych y pennawd struct typedef, sy'n adrodd compiler rwy'n ar fin creu struct. Rydym yn enw yn mynd yn "nod." Ac y tu ydym yn mynd i ddatgan newidyn yn, sydd yn mynd i storio gwerth. Ac yna rydym hefyd yn mynd i wedi pwyntydd enw "nesaf" sy'n cyfeirio at y nesaf nod yn y rhestr cyswllt. Ac yna byddwch yn gorffen bod i ffwrdd at jyst yn ailadrodd nod eto, felly y compiler a ŵyr, OK dyna ddiwedd fy struct. Ac felly yn y modd hwn, rydym yn garedig o greu amrywiaeth bach cute math o beth gyda gwerth a gyda pwyntydd. A gallwch eu cysylltu i gyd ynghyd ag awgrymiadau hynny. Fel y gallant bob math yn strung at ei gilydd mewn cadwyn. Cool. Allwch chi glywed bod ychydig yn well? GYNULLEIDFA: Yeah. ATHRO: Pob hawl. Felly, y ffordd honno, fel y gallwch weld guys, rhestr gyswllt nodweddiadol wedi'i strwythuro yw bod gennych pen. Yn cael y gwerth pen i chi beidio sef yn cael ei sylw at y ffaith gan unrhyw pwyntydd arall. Ond mae'n mynd i bwyntio at, neu gyfeirnod, nod arall. Mae'r nôd ar ôl yn mynd i gyfeirio at y nod ar ôl hynny, ac yn y blaen ac yn y blaen hyd nes y byddwch yn y pen draw taro diwedd eich rhestr cyswllt. A 'ch jyst ni fydd yn rhaid pwyntydd yno. Ac felly, yn meddwl fel, ar gadwyn, neu hyd yn oed os unrhyw un ohonoch guys wneud, nid wyf yn gwybod, fel gyda Dolenni Ffrwythau pan oeddech yn fach. Byddech llinyn nhw at ei gilydd ac yn eu gwisgo o gwmpas eich gwddf. Meddwl ei fod yr un peth yn union. Mae gennych pethau bach yma sy'n eich gall llinyn ynghyd y pwynt hwnnw i un ar ôl iddo, i'r un ar ôl iddo, ac yn y blaen ac yn y blaen hyd nes y byddwch yn cael cadwyn o strwythur data y gallwch ei ddefnyddio bynnag yr ydych yn hoffi. Felly, y ffordd y mae hyn byddem fel arfer yn mewnosod neu ddileu unrhyw nôd o gysylltiad rhestr yn wahanol iawn gan ddibynnu ar ble y nôd yn. Felly, er enghraifft, oherwydd awgrymiadau bob amser pwyntio am bris penodol, pan fyddwch yn dileu neu'n rhowch nod, ydych chi eisiau gwneud yn siŵr bod y pwyntydd i gyd pwyntio at y pethau iawn. Felly, os ydych eisiau o bosibl mewnosod cainc newydd gyda gwerth un y tu mewn i ddolen ddidoli rhestr, yr ydym i gyd yn gwybod yma o'r darlun sy'n mynd i mynd i mewn rhwng y pennaeth a dau, dde? Oherwydd bod un cyd-fynd yn iawn yno. Ond mae'r ffordd y byddem yn gwneud hynny yw drwy dereferencing pwyntydd gyntaf o ben ac anfon y i un. Ond rydym yn dod i o broblem yma. A all unrhyw un weld beth yw'r broblem yw pe baem yn dereference cyntaf pwyntydd o pen i'r un? Pa broblem efallai y byddwn yn rhedeg i mewn os ydym yn ceisio hyn i ychwanegu at y flaen ein arae? GYNULLEIDFA: [Anghlywadwy] ATHRO: Yn union. Felly dyma gennym pwyntydd a oedd yn unwaith bwyntio o'r pen i ddau. Ond os ydych yn cael gwared ar y pwyntydd, eich cyfeirio i un, erbyn hyn mae gennym ddim syniad lle i fynd i ddod o hyd i ddau. Oherwydd fel y dywedais o'r blaen, mae gennych darn mawr o gof yn eich cyfrifiadur. Mae'r holl nodau hyn gallai yn cael ei fritho ar hap mewn unrhyw le yn eich cyfrifiadur. Ac nad ydych yn gwybod sut i fynd ati i ddod o hyd hynny. Ac felly mae angen i chi gael awgrymiadau gan dynnu sylw at yr holl nodau ar y diwedd. Neu arall, os ydych yn ddamweiniol dereference un heb aseinio cyntaf gwerth yn gyntaf, rydych yn jyst yn mynd i golli popeth ar ôl hynny. Felly, yr hyn yr ydym ni'n mynd i wneud yw, byddech yn gyntaf eisiau creu pwyntydd ar y nôd yr hoffech ei fewnosod. Tynnwch i ble rydych yn eisiau i fewnosod iddo, ac yna ar ôl hynny i chi Gallai dynnu pen yn ôl i un. A yw hynny'n gwneud synnwyr i bawb yma? Great. Meddyliwch am y peth fel yn union fel cadwyn. Os byddwch yn ychwanegu cadwyn, mae'n fath o 'n athrylithgar sut y byddech yn mynd ati i fewnosod hynny. OK, fel bod mewn gwirionedd yn llawer fyrrach nag yr oeddwn yn meddwl y byddai'n, mae truth pum munud ar restrau cyswllt. Yn union fel eich guys yn cael y syniad sylfaenol o beth yw hynny. Yma, mae gennym yr agenda ar gyfer cwis sero. Peidiwch â gadael i hyn dychryn chi. Rwy'n gwybod ei fod yn llawer o wybodaeth. Mae'n edrych yn frawychus iawn. Mae hefyd llawer o, yr wyf yn yn meddwl, CSC fath o dermau. Pethau fel llinynnau hecsadegol, awgrymiadau, dyraniadau cof deinamig yn dermau swnio'n frawychus iawn. Ond rydym yn mynd i'w torri lawr, yn gwneud rhai problemau ymarferol er mwyn i chi guys i gyd yn barod ar gyfer y prawf hwn. Faint ohonoch chi guys yn cael eisoes wedi dechrau astudio? OK, rydych guys mwy na thebyg eisiau i ddechrau cychwyn arni ar hynny, oherwydd bod y cwis yn yfory. Neu ddydd Iau ar gyfer rhai ohonoch chi. Yeah, felly rydym yn mynd i fynd dros rai problemau ymarferol. Os ydych chi guys i gyd am gymryd allan ddalen o bapur, pensil. Rydym yn mynd i jyst wario'r mwyafrif helaeth o adran heddiw mynd dros rai o hynny er mwyn i chi guys yn cael syniad o beth i'w ddisgwyl ar y cwis. IAWN. Mae cwpl o logistaidd manylion hefyd, i unrhyw un nad yw wedi bod i'r cysylltiad hwnnw yno, os byddwch yn mynd i cs50.yale.edu, ar y tu blaen y dudalen hon mae cysylltiad sy'n dweud "About Cwis Zero." Link yn mynd â chi yno. Os nad ydych wedi ei ddarllen, os gwelwch yn dda ddarllen. Oherwydd ei fod yn dweud wrthych yn bwysig iawn gwybodaeth am y cwis. Rydw i'n mynd i dynnu hyn allan oddi wrth mai dim ond oherwydd, yn gorfforol, os nad ydych guys yn gwybod lle i fynd, bydd gennym broblemau. Ac felly os yw eich ddiwethaf o ran ag A i N, ewch i'r awditoriwm ysgol y gyfraith. Ac os yw eich dechrau diwethaf gyda P AY, ewch i Davies Awditoriwm. Ac mae hyn ond yn berthnasol ar gyfer pobl yn yr adran dydd Mercher. Os ydych yn cymryd y cwis ar Dydd Iau, byddwch yn mynd i SSS 114 lle mae eich ddarlith fel arfer yn. GYNULLEIDFA: [Anghlywadwy] ATHRO: O i Y, rydych yn mynd i fynd i'r awditoriwm Davies. Rydw i'n mynd i newid hynny, dde? O, ie, 'ch jyst yn methu yn awtomatig. O ie, dyna chi Christa. Yeah, fy ddrwg. Yep, O i Y, rydych yn mynd i fynd i'r Davies Auditorim. Rydw i'n mynd i atgyweiria hon ar ôl i mi llwytho i fyny. Yeah. Ac yna hefyd rywbeth bwysig i'r meddwl yw y dydd Mercher, os ydych yn swyddogol cofrestru yn yr adran Dydd Mercher, mae'n rhaid i chi gymryd eich cwis ar ddydd Mercher. Ac os ydych yn cofrestru yn y Dydd Iau, mae'n rhaid i chi gymryd eich cwis Iau. Ac mae'n yn ystod amser dosbarth. Ble, yr wyf yn credu ei fod yn debyg i 01:00 02:15 ar ddydd Mercher a 2:30-03:45 ar ddydd Iau. Os oes gennych gwrthdaro digymod, Esgusodion Deon yw'r unig beth, yn anffodus, gallwn gymryd. Oherwydd ein bod wedi cael mwyafrif helaeth o geisiadau i newid o ddydd Mercher i ddydd Iau. Na allwn anrhydeddu oni bai mae gennym cais Deon. IAWN. Felly, cyn i ni ddechrau ar cwpl o'r problemau ymarferol, Im 'jyst yn mynd i fynd dros Awgrymiadau defnyddiol Andy gyfer llwyddiant. Rydych guys, pan fyddwch yn astudio, chi wir yn yn awyddus i ymarfer ysgrifennu cod â llaw. Y tro cyntaf i mi erioed Cymerodd cwis CS, nid oedd gen cod ymarfer ysgrifennu â llaw cyn ac roedd yn hynod syfrdanol pa mor anodd oedd hi. Pan nad ydych guys yn mynd i mewn i'r arfer o deipio allan bopeth, mae'n dod yn naturiol iawn yn gallu wedi autocompleted cromfachau a hanner colon yno. Pan fyddwch yn ysgrifennu 'ii maes â llaw, weithiau mae'n iawn, yn hawdd iawn i anghofio hanner colon, neu yn anghofio i gau braced, neu yn anghofio i gau colon, neu rywbeth fel 'na. Felly, pan fyddwch yn ysgrifennu cod â llaw, mae'n deimlad gwahanol iawn. Felly rydych guys, pan fyddwch yn gweithio drwy rai o'r problemau ymarfer, byddai'n da i ymarfer 'n sylweddol heddiw. Neu yfory, am wn i, os ydych yn gymryd y cwis ar ddydd Iau. Yn ail, mae gennym yr olaf, fel, werth wyth mlynedd o ymarfer cwisiau ar-lein. Mae'n debyg y bydd cwis eleni fydd iawn, yn debyg iawn i bob un ohonynt. Maen nhw i gyd yn debyg iawn. Rydych yn fath o fynd i mewn i'r arddull y math o gwestiynau ein bod yn gofyn, y math o swyddogaethau y byddwn yn ysgrifennu i mewn, et cetera, et cetera. Felly, yn cymryd cwisiau ymarfer, yn enwedig o dan gyfyngiadau amser. 75 munud i wneud y cwis yn Nid yw llawer o faint o amser. Mae'n iawn, hir iawn. Ac felly rydych guys 'n sylweddol angen i wneud yn siŵr eich bod guys yn yn yr arfer o ysgrifennu Cod â llaw yn gyflym. Oherwydd nad ydych am y tro cyntaf amser i weld cwis o'r darn hwnnw fod ar eich cwis. Rydych guys 'n sylweddol am wneud yn siŵr eich bod yn ymarfer ymlaen llaw. Yn bedwerydd, yr ydych am i adolygu'r darlith ac adran sleidiau. Nid oes rhaid i chi gofio pethau. A dweud y gwir, mae pawb yn cael ei ganiatáu yn un ddalen o nodiadau papur gwyn, blaen a'r cefn. Gallwch chi guys deipio neu ysgrifennu. Os byddwch yn cael eich hun angen i gofio unrhyw beth, roi i lawr ar y daflen. Yr wyf yn gwarantu i chi, nad ydych am i yn cael ei sownd yng nghanol y cwis yn debyg, o ie, beth yw'r Rhedeg o'r math hwn yn erbyn y fath. Dim ond yn ei roi i lawr a'i gopïo yn syth oddi wrth eich taflen nodiadau. Yna, alli 'n weithredol yn unig yn defnyddio eich ymennydd i feddwl am y problemau yn hytrach na gorfod cofio ffeithiau. Ac felly 'n sylweddol yn manteisio am unrhyw fanylion niche eich bod yn meddwl mae angen i chi gofio, sw n plopian i lawr ar y daflen adolygu. OK, unrhyw gwestiynau yn logistaidd ynghylch y cwis cyn i ni ddechrau rhai problemau cwis ymarfer? Yeah? GYNULLEIDFA: Nid wyf wedi cael cyfle i edrych ar y cwis [Anghlywadwy] ond a yw'n mynd i fod yn cais gan mwyaf, neu hefyd fod yn mynd i fod, fel, cwestiynau gwybodaeth? ATHRO: Mae'n llawer. Felly, y ffordd yr wyf yn Byddai Disgrifiodd y cwis yw-- Rwy'n rhoi at ei gilydd rhai problemau ymarferol fy mod yn tynnu o'r holl cwisiau. Ond byddwch yn gweld bod yna ddau brif mathau o gwestiynau byddwn yn gofyn i chi. Mae un yn manylu ar lefel isel iawn o bethau. Byddwn yn rhoi darn bach o god i chi a dweud, a oes gwall yma? Beth fyddai'n cael ei argraffu yma? Beth fydd y cod hwn yn cynhyrchu, et cetera. Felly Manylion wybodaeth ar lefel isel iawn. Ac ar yr ochr arall y geiniog, bydd gennym iawn Cwestiynau seiliedig ar wybodaeth lefel uchel. Allwch chi esbonio beth mae'r gwahaniaeth rhwng chwiliad deuaidd ac chwiliad llinol yw? Pam y byddai rydym am defnyddiwch un dros y llall? Efallai, beth yw GDB? Pam rydym eisiau ei ddefnyddio GDB? Lefel uwch, yn fwy sylfaenol Cwestiynau dealltwriaeth. Felly, byddwch yn gweld cymysgedd o y ddau ohonynt ar eich cwis. Unrhyw beth arall cyn i ni mynd yn syth i mewn iddo? IAWN. GYNULLEIDFA: Un mwy. ATHRO: O, un yn fwy. Mae'n ddrwg gennym. GYNULLEIDFA: Yeah, 'i' i gyd yn iawn. Felly rydych yn ei ddweud 75 munud yn rhy fyr, fel ei bod yn annhebygol y byddwn yn gorffen? Neu, fel, 75 munud yn union cymaint o amser gan y byddai angen i ni pe baem yn paratoi'n briodol? ATHRO: OK, felly mae'r cwis yn heriol. Mae'n sicr yn heriol. Byddwch yn cael eich hun yn fyr ar amser. Mae'n debyg y byddwch chi'n mynd i daro, fel 10, 15 munud i fynd, a bod fel, cachu. Rwyf wedi gadael gymaint i'w wneud. A dyna gwbl iawn. Mae pawb yn mynd i deimlo yr un ffordd. Dim ond fod yn ymwybodol iawn o faint o amser sydd gennych. Ac felly dyna pam yr wyf yn dweud wrthych guys gwneud y cwisiau ymarfer. Oherwydd ei fod yn wir yn rhoi ymdeimlad gwych o'r hyn y mae'r cwis yn mynd i fod fel. Felly, os ydych yn cael eich hun yn gallu gorffen y practis cwisiau mewn swm da o amser, gallwch cyflymder eich hun yn dda, yna ni fydd gennych broblem ar ddydd Mercher neu ddydd Iau. Cool. Felly os yw pawb wants-- wyf yn meddwl rhan fwyaf o bobl dalen o bapur allan yn barod. Rydw i'n mynd i yn y bôn yn unig rhoi cwestiynau enghreifftiol i chi, rhoi guys, chi'n hoffi, mae ychydig o funudau i wneud iddyn nhw. A byddwn yn mynd dros fel dosbarth yr hyn y mae'r atebion iddynt yn cael eu. Felly, mae hwn yn nodweddiadol iawn Cwestiwn cynnar yr ydym chi helpu yn gofyn i chi, dim ond trosi rhifau rhwng gwahanol ganolfannau. Deuaidd, wrth i chi guys gallwch galw i gof, yn sylfaen dau. Degol yw sylfaen 10, neu yr hyn yr ydym fel bodau dynol fel arfer yn dehongli. Hecsadegol yn sylfaen 16, sydd yn sero drwy naw yn ogystal â A drwy F. Felly mae pedwar rhif rwy'n gofyn i chi guys i drosi yma. Byddaf yn rhoi i chi yn hoffi, tri i pedwar munud i ystyried sut byddem yn mynd ati i ddatrys hyn. GYNULLEIDFA: A ydym yn caniatáu cyfrifianellau? ATHRO: Nid ydych fydd Mae angen cyfrifianellau, yeah. Yr wyf yn meddwl ychwanegiad sylfaenol, yr wyf yn meddwl, yn gofynnir i chi guys i gyd ei wneud. Ac yn union fel yr wyf yn fath o gael synnwyr o pan fydd pawb yn cael ei wneud, yn edrych i fyny, tonnau, nid wyf yn gwybod, gwenu, yn edrych yn hapus os ydych yn ei wneud. Yeah. Efallai ychydig mwy o funudau. OK, gadewch i ni ddod ag ef i mewn. Rydw i'n mynd i purposely rhoi guys i chi llai o amser nag angen i chi yn ôl pob tebyg gwneud rhai o'r problemau hyn, dim ond oherwydd fy mod eisiau gwneud yn siŵr bod gawn drwy bwnsied o broblemau. Felly dim pryderon, os na wnaethoch chi yn cael cyfle i orffen. Hollol iawn cyn belled â bod gennych syniad o sut i wneud hyn. Felly gadewch i ni fynd yn ei flaen ac yn gwneud yr un cyntaf. Felly yn gyntaf, a oes unrhyw un yn awyddus i ddweud wrthyf yn deuaidd, beth pob un o'r digidau hyn gynrychioli o ran eu gwerthoedd? Yeah? GYNULLEIDFA: Dwy i'r pŵer sero, dau i un. ATHRO: Yn union. So. Iawn, felly fel arfer pan fyddwn ni'n yn y sylfaen 10 mae'r rhain i gyd yn cael eu cynrychioli, fel, 10 i waelod sero, dde? Dyna lle eich un i. Mae pob eich lle 10 yn ei 10 i bŵer un. Lle yr ydych 100 yw 10 at y pŵer o ddau. Beth bynnag sylfaen ydych chi mewn yn mynd i'w wneud â'r un peth yn union, dim ond gyda sylfaen gwahanol. Felly deuaidd, cyfan sydd yn sylfaen dau. Rydych yn mynd i droi'r cyfan y digidau yn ddau i ba bynnag pŵer o hynny digid. Ac felly yn yr ystyr hwn, rydym yn Gall gael ffordd haws o fod yn gallu adio neu grynhoi'r holl rhifau yn eu trefn i drosi i mewn i ganolfan 10. Felly oes unrhyw un yn awyddus i ddweud wrthyf beth mae'r ateb i'r un cyntaf yn yn y sylfaen deg? GYNULLEIDFA: Dau, [Anghlywadwy] ATHRO: Yeah. GYNULLEIDFA: 42. ATHRO: 42, dyna ni. Felly, y ffordd yr ydym yn cael yr ateb hwn oedd drwy gwneud dau y cyntaf, sef dau. A dau y trydydd, sef wyth. A dau i'r pumed, a oedd yn yw beth bynnag sy'n weddill. Rydych yn crynhoi i fyny ac mae'n 42. A oes unrhyw un yn ddryslyd ynghylch sut y cawsom hynny? Hefyd Felly sylfaenol, fel Dywedais, dylech fod yn iawn. Os nad yw, yn dda, gallwn ymarfer hynny hefyd. Ond dyna i gyd yn iawn. Cool. A oes unrhyw un eisiau rhoi 'm' r ateb i'r ail un hefyd? 50? Da. Dylai unrhyw un dryslyd ar sut rydym yn cael bod naill ai? Cool, 'n annhymerus' yn cael y atebion ar y sleid nesaf. Felly dim pryderon os ydych yn Mae angen i copi i lawr. Iawn, felly hecsadegol yn ychydig yn fwy anodd. ond rwy'n mynd i ddangos i chi guys a shortcut ar gyfer sut i wneud hynny. Felly hecsadegol, wrth i chi cofiwch, pob mae'n fod yn 16. Ac am ein bod am nad pobl yn ei wneud mewn gwirionedd rhaid i 16 rhifau i gynrychioli'r hynny, rydym yn mynd o sero i naw, mae ein cyntaf 10 werthoedd, ac yna rydym yn ei wneud A drwy F, sef y chwe gwerth nesaf. Ac felly y ffordd hawsaf i fynd o unrhyw rif deuaidd i hecsadegol yw i'w torri i fyny i mewn hanner. Ac felly unrhyw rif deuaidd byddwn yn rhoi mae'n debyg y byddwch yn cael wyth digid. Alli jyst dorri nhw i fyny yn y canol. Felly, y cyntaf one-- un un, un un, un, un, un un. Math o feddwl i fyny, eich bod yn gwybod, yn tynnu slaes neu atalnod yn y rhyngddynt. A allwch chi jyst drosi yn uniongyrchol beth bynnag mae hyn yn gyfeiriad at y cyntaf nifer y hecsadegol, a beth bynnag yma yw yr ail o hecsadegol. Felly cofiwch o nodiant cyffredin, beth yw gwerthoedd hecsadegol dechrau gyda? GYNULLEIDFA: Zero. ATHRO: 0x. Felly, rydym yn gwybod bod unrhyw tro y byddwn yn gofyn i chi i drosi unrhyw rif i hecsadegol, neu unrhyw tro y byddwch yn gweld unrhyw rhif sy'n dechrau gyda 0x, eich bod yn gwybod ei fod yn werth hecsadegol. Ac yna rydych yn mynd i gael gwahoddiad i penderfynu beth yw'r rhain ddau ddigid yn cael eu. A'r ffordd yr ydych yn gwneud hynny, marciau rhifo i fyny fod hanner a marciau rhifo i fyny bod hanner. Felly, yn yr enghraifft hon, beth Byddai un, un, un, un fod? Pa werth a fyddai'n cael ei? Id hynny fod F, dde? Id hynny fod 15. Felly byddai hyn yn F. One, un, un, un yma hefyd F. Felly, un, un, un, un, un, un, un, un ym hecsadegol, pob mae'n yw 0 xFF. Gan fod hanner roedd hyn yn cynrychioli F, mae'r gwerth 15, a hanner roedd hyn yn cynrychioli F, mae'r gwerth 15. Oherwydd cofiwch, rydym yn cyfrif o sero i naw. A yn debyg 10, B yn debyg 11, F yw 15. A yw hynny'n gwneud synnwyr i bawb sut gawsom gan deuaidd i hecsadegol? GYNULLEIDFA: Ac felly sut oedd ein bod yn cael 15 o'r un, un, un, un? ATHRO: Yeah, mae hyn yn deuaidd, dde? Dychmygwch hyn yn unig yw rhif deuaidd. Felly, mae gennych ddau i'r 0, sydd yn un. GYNULLEIDFA: O, OK. Felly rydych jyst cyfanswm 'ii maes. ATHRO: Yeah, ac yna 'ch jyst cyfanswm y allan. Dyna i gyd y mae. GYNULLEIDFA: OK. ATHRO: OK. GYNULLEIDFA: Felly, byddwch yn mynd o deuaidd i degol i'r hecsadegol? ATHRO: Dyna y ffordd hawsaf o wneud hynny, yeah. Nid ydych yn mynd i degol oherwydd yn unig y mae degol sero i naw. Rydym yn unig fath o rannu hyn i fyny yn ddwy. GYNULLEIDFA: [Anghlywadwy] gan ddefnyddio degol i ddod o hyd yr hyn y mae'n cyd-fynd hyd at yn hecsadegol. ATHRO: Yr wyf yn golygu, rydych yn marciau rhifo i fyny gan ddefnyddio mathemateg sylfaenol. GYNULLEIDFA: Yeah. ATHRO: Yeah, 'n bert lawer. Mae braidd yn ddryslyd. Ond dim ond yn gwybod eich bod chi Gall rhannu'r beth bynnag gwerth hwn i mewn dim ond hanner. Edrychwch, beth yw hyn yn deuaidd? Pa rif yw hynny? Mae'n mynd i fod yn rhywbeth o sero i F. Yma hefyd yn mynd i fod rhywbeth o sero i F. Ac yna gallwch roi dau y rhai iawn yno. GYNULLEIDFA: OK. ATHRO: Yep. IAWN. Felly rydych guys eisiau roi cynnig ar yr un nesaf felly? Zero, un, sero un, un, sero, un sero. 'N annhymerus' yn rhoi guys ydych yn hoffi 30 eiliad, ers i chi nid yn ôl pob tebyg yn gwybod y tric i sut i wneud hyn yn gynharach. OK, mae unrhyw un am gael yr un yma yn ergyd? 0X5A. ATHRO: 0X5A. 5a. Da. Felly, mae hyn yma yn be-- chi eisiau i ddweud wrthym sut y cawsoch hynny? Yn gyntaf, sut wnaethoch chi gael y pum? GYNULLEIDFA: Oherwydd sero, un, sero, un yw pump. ATHRO: Ydy pawb yn deall pam sero, un, sero, un yw pump? Rydych chi wedi cael un yma. Oes gennych unrhyw beth mewn dwy i'r cyntaf. Mewn dwy i'r ail, yr ydych gennych un, sef pedwar. Felly byddwch yn ychwanegu y pedwar a mwy yr un, mae gennych bump. Mae pawb yn dda? IAWN. Ac yna beth mae hyn a pham? Pa rif mae A yn cyfateb i? GYNULLEIDFA: 10. ATHRO: A beth mae hyn yn y sylfaen dau? GYNULLEIDFA: [Anghlywadwy] ATHRO: Yn union. Felly byddai hyn yn ail gwerth yma fod yn 0X5A. Mae pawb da ar sut i drosi? Mae'n llawer symlach nag yr ydych yn meddwl ei fod yn. Fi jyst eisiau gwneud yn siwr eich bod yn gwybod awgrymiadau defnyddiol a driciau am sut i wneud hynny. GYNULLEIDFA: Pam gallwch rannu ef yn y canol fel 'na? Dim ond fod yn debyg, OK, dw i'n unig yn mynd i yn gofalu am y rhain cyntaf [Anghlywadwy]? ATHRO: Oherwydd dyna mewn gwirionedd y ffordd y gwerthoedd hecsadegol yn cael eu cynrychioli. 0x, mae hynny'n golygu mewn gwirionedd dim byd mwy nag ddweud wrthych ei fod yn rhif hecsadegol. Ac mae hyn bob amser yn cynrychioli y pedwar digid cyntaf. Ac mae hyn bob amser yn cynrychioli y pedwar digid olaf. Ac felly y ddau ddigid unig cyfateb i'r gwahanol ddarnau. GYNULLEIDFA: Felly, byddwn always-- ATHRO: Rydych yn bob amser mynd i gael wyth did gwerth. GYNULLEIDFA: A yw hynny'n union fel yn beth yma neu bod yn beth a lled? ATHRO: Dyna dim ond beth mewn cyfrifiaduron, yep. GYNULLEIDFA: OK. Awesome. ATHRO: Hefyd, felly yn yr enghraifft hon rydym yn trosi o deuaidd i degol, ac o deuaidd i hecsadegol. Rydych guys am wneud yn siŵr eich bod hefyd ymarfer mynd y ffordd arall o gwmpas. Felly os rhoddais chi 0 xFF, gallech tynnu hynny allan yn deuaidd, dde? Byddwch yn newid F i mewn deuaidd, sydd yn un, un, un, un, trosi F i deuaidd, a oedd yn yn un, un, un, un. Felly efallai y byddwn yn gofyn i chi ei wneud y ffordd arall o gwmpas. Felly degol i'r deuaidd, neu hecsadegol i deuaidd. Felly rydych chi am wneud yn siŵr eich bod yn gwybod y ddwy ffordd. Byddwn yn fwy na thebyg yn gofyn i chi a gyfuniad o'r ddau. Yeah, mae gennych gwestiwn? Gallaf see-- eich bod yn dda? GYNULLEIDFA: Yeah. ATHRO: OK. Ydw i'n dda i ddileu hyn? Great. Mae pob hawl, felly atebion yma os oes unrhyw un yn chwilfrydig yn nes ymlaen ac yn drysu. IAWN. GYNULLEIDFA: Oes ots os ydym yn rhoi ein llythyrau yn Capitol neu llythrennau bach? ATHRO: Mae'n gwneud, oherwydd yn hecsadegol, yn ôl confensiwn, holl gymeriadau yn cael eu priflythyren. Felly A drwy F yn mynd i fod yn priflythyren. Os byddwch yn rhoi llythrennau bach a a, nid wyf yn gwybod os byddem yn o angenrheidrwydd yn nodi yn anghywir. Ond yn ddamcaniaethol, nid yw hynny'n dechnegol sut rydych yn fod i gael ei. Felly, dylent i gyd fod yn priflythyren. Yeah, cwestiwn da. IAWN. Ail gwestiwn. Ystyriwch hyn rhaglen hyfryd yma. 'N annhymerus' yn gofyn y cwestiwn, 'N annhymerus' yn dod yn ôl yma. Felly, yn gyntaf, beth sydd y tu mewn o safon io.h dyna o ddiddordeb i'r rhaglen? Yn ail, beth mae ddi-rym arwyddo yn unol tri? Ac yn drydydd, beth mae dychwelyd sero o prif, fel llinell chwech, yn gyffredinol yn arwyddo? Os ydych guys am ysgrifennu rhai i lawr, gan fod yn rhaid i mi newid yn ôl at y sleid yn unig fel y gallwch weld cod. Mae hwn yn enghraifft o, fel, efallai Cwestiwn lefel uwch lle rydym yn gofyn i chi pa bethau yn ei olygu mewn rhaglen. Mae pawb da i mi fynd yn ôl at y sleid? OK, oer. Felly, byddaf yn rhoi guys fel efallai tair chi munud i edrych ar hyn yn un gyflym go iawn. Iawn, felly mae hyn yn un yn hoffi weddol hawdd, yn gysyniadol. A oes unrhyw un yn awyddus i ddweud wrthyf beth sydd cyntaf y tu ôl hash gynnwys ein ffeil llyfrgell io.h safonol? Pam y mae angen y llyfrgell i ni cynnwys ar gyfer y rhaglen hon? Beth fan hyn mae angen ei ddiben? Yeah? GYNULLEIDFA: Ai dyna pryd byddwch yn rhoi bod printf? ATHRO: Yn union. Felly printf, unrhyw tro y byddwch yn cymryd mewnbwn gan y defnyddiwr ac argraffu rhywbeth at y sgrin, dyna mewnbwn safonol, llyfrgell allbwn. Feddwl am y peth sy'n way-- mewnbwn, allbwn. A oes gennyf allbwn? Ydw. Felly, yr wyf yn gwybod fy mod bob amser i'n mynd i Mae angen y llyfrgell i.o safoni. Felly printf yw swyddogaeth erbyn pryd y mae angen i ni gael mynediad a hashtag yn cynnwys y llyfrgell i.o safonol. IAWN. Yn ail, mae'n beth mae ddi-rym yn arwyddo? Mae gennym y int prif (ddi-rym), beth mae ddi-rym yma yn golygu yma ar y llinell dri? Yeah, yn y cefn. GYNULLEIDFA: [Anghlywadwy] ATHRO: Yn union. Felly cofiwch, rydym wedi dysgu gan ddechrau gyda'n pset eich bod yn gallu mewn gwirionedd pennu llinell orchymyn dadleuon bod eich rhaglen, eich bod yn prif swyddogaeth, yn cymryd fel chi, y defnyddiwr, alw. Os oes gennym ddi-rym, mae hynny'n golygu eich bod yn Gallai dim ond yn rhedeg y rhaglen yn uniongyrchol heb unrhyw ddadleuon llinell orchymyn. Mae pawb yn glir ynglŷn â hynny? IAWN. Ac yn olaf pam yr ydym yn trafferthu gwneud mae hyn yn dychwelyd sero peth yma? Pam rydym yn hyd yn oed yn cael prif int? Pam na allwn ni ond cael brif ddi-rym yn ddi-rym? Yeah? GYNULLEIDFA: Dim ond fel y gallwn fod yn sicr bod y rhaglen yn gyffrous yn llwyddiannus, fel y yn gwrthwynebu os oedd rhif. A byddem yn gwybod bod hynny'n gwahanol fath o gamgymeriad. ATHRO: Yeah, yn union. Mae hyn yn unig yw iawn beth confensiynol a wnawn, yw mai dim ond ar ddiwedd y eich rhaglen, dim ond er mwyn gwneud yn siwr bod eich prif swyddogaeth yn rhedeg yn gywir, rydym bob amser yn awyddus i wneud elw sero. Hyd yn oed er efallai y byddwn o reidrwydd Nid yw gweld bod argraffwyd yn unrhyw le. Oherwydd fel rhaglenwyr, chi'n gwybod, os mae gennych lawer o wahanol linellau o god ac nad ydych yn gwybod ble mae'r rhain yn mynd o'i le, ac os gwall yn digwydd chi eisiau gwnewch yn siŵr eich bod yn cael y gwall. Ac felly fel arfer os bydd rhywbeth yn mynd anghywir bydd gennym dychwelyd un yn unig i wneud yn siŵr ein bod yn gwybod ei fod. Felly, os ydych yn gweld yn dychwelyd sero, sydd fel arfer golygu bod eich rhaglen yn ddienyddio yn llwyddiannus. Da? Cool. OK, ail raglen yma. Ystyried hynny. Ac os ydych yn guys yn gweld arnofio, gallwch chi guys yn ôl pob tebyg cael syniad da o'r hyn Rwy'n ar fin gofyn i chi. Felly, pan fydd y rhaglen hon executes, fel y gwelwch, Yr wyf yn datgan fflôt y tu mewn fy mhrif swyddogaeth. Im 'yn enwi yn "ateb," a dwi'n gosod hynny gyfartal i un rhannu â 10. Dw i'n argraffu, i un lle degol, hynny arnofio. Ac yna i ddim yn dychwelyd sero. Felly, pan fydd gweithredu'r rhaglen, meddwl yn ôl i'r barus yn awr, rhaglen hon printiau 0.0. Fel yr ydym i gyd yn gwybod, gobeithio ein bod i gyd yn gwybod, un wedi'i rannu gan 10 Nid yw 0.00, 'i' 0.1. Ond eglurwch pam mae'r rhaglen hon yn meddwl bod 1 rannu gan 10 o brintiau i 0.1 eraill na 0.1? Byddaf yn rhoi i chi guys efallai hoffi 30 eiliad i feddwl dim ond yn gyflym am hynny a byddaf yn mynd yn ôl at y rhaglen. IAWN. Dylai unrhyw un sydd yn awyddus i roi ergyd? Yn tair brawddeg neu lai, oherwydd fel arfer rydym yn mynd i gyfyngu ar yr holl atebion i dair brawddeg neu lai fel nad ydych yn unig regurgitate pethau ar hap ar eich cwis. Yeah, yn cymryd ergyd. GYNULLEIDFA: Felly, yr wyf yn meddwl bod hyn yn beth a elwir, fel, [Anghlywadwy] Felly gallai fod, er enghraifft, gallai fod, fel, 0.09, bod lle rydych yn argraffu'r cyntaf digid, fyddai hi i 0.0? ATHRO: Close, ddim yn hollol. Christabell? GYNULLEIDFA: Rydych chi'n rhannu un a 10, ac mae'r ddau yn gyfanrifau. Ac felly y ffordd y mae'n mynd i storio ei fod fel cyfanrif. Ac felly byddai'r cyfanrif agosaf yn 0.0. Ac felly dyna 0.1. ATHRO: Yeah, mae hynny'n dda iawn. Dyna yr ateb cywir. Felly, mae hwn yn ddryslyd iawn cysyniad ar gyfer llawer o blant. Ac yr wyf wir eisiau gwneud yn siŵr bod mae hyn yn cael ei atgyfnerthu yn ben pawb. Felly, yr hyn yr ydym yn galw fel y bo'r angen imprecision pwynt, lle y rheswm pam mae llawer o'ch rhaglenni yn farus nid oedd yn gweithio i ddechrau oedd oherwydd ydych wedi anghofio i gyflwyno dy amrywiol. Felly, yr hyn a ddywedodd Christabell yn gwbl gywir. Mae fflôt yn ei hanfod yn amwys. Oherwydd yn cyfrifiadur, ar y dde, rydym wedi swm cyfyngedig o ddarnau o gof gallwn ei ddefnyddio i gynrychioli rhifau. Felly, er enghraifft, CS50 hwn ID yw-- Rwy'n credu ei fod 64-bit cyfrifiadur. Gall fflôt ond yn cael ei gynrychioli gan swm cyfyngedig o ddarnau hynny. Ac felly 0.1 gyda zeros ddiddiwedd, hynny oedd 0.1 yw, dde? Ond ni allwn storio mewn gwirionedd y rhif hwnnw yn ein cyfrifiadur. Rydym nid yn unig yn cael digon o gof i wneud hynny. Ac felly y brasamcan agosaf beth sy'n cael ei storio yn y cof mewn gwirionedd rhywbeth fel rhywbeth 0.000, rhywbeth, rhywbeth, rhywbeth. Pa rai, unwaith y byddwch blaendorri iddo, rowndiau i lawr i 0.0. Ac felly yr enghraifft hon yn un sy'n dangos llawer o faterion mae gennym pryd bynnag y byddwn ni'n ceisio gwneud mathemateg yn anghywir heb castio fel cyfanrif gwahanol. Felly, dim ond fod yn wyliadwrus o hyn yn digwydd. Ar cwisiau, os byddwn yn rhoi i chi yn bloc o cod ac mae fel, beth printiau allan ar y diwedd? Ac os yw'n rhywfaint o werth ar hap i chi Dylai guys yn gwybod pam mae hynny'n digwydd. Yeah? GYNULLEIDFA: blaendorri yn cael gwared ar popeth ar ôl pwynt penodol? [Anghlywadwy] ATHRO: Yeah, felly mewn gwirionedd mae hyn yn enghraifft drwg iawn, oherwydd 0.100 beth bynnag mewn gwirionedd Byddai blaendorri lawr i 0.1. Ond os ydych yn rhedeg iddo-- Nid wyf yn ei wneud cofiwch, gan fod y llynedd eu bod yn rhedeg ar raglen wahanol. Maent yn rhedeg yn rhywbeth o'r enw y Appliance CS50, a oedd yn yn wahanol i'r adnabod. Dyna oedd system 32-bit, yr wyf yn meddwl. Ac felly yr oedd gwahanol rifau. Ond yn ei hanfod, dim ond yn gwybod bod y cysyniad cyfan o cwtogi a sut y mae'n jyst torri pethau i ffwrdd. Ac felly os bydd yn rounds-- GYNULLEIDFA: Heb talgrynnu. ATHRO: Yn union. Yeah. Cool. Hi, yn y cefn. Rydym yn unig yn mynd dros rai Cwestiynau adolygu cwis. Iawn. Felly ystyried rhaglen wahanol yma. Rydw i'n mynd i roi guys i chi cofnodion cwpl i ddarllen dros hyn. Mae hyn yn rhywbeth a oedd am iawn Yn ddiweddar, fy mod yn meddwl chwythu llawer ohonoch meddyliau guys yn. Ond rydym yn mynd i siarad drwy hyn eto yn unig i wneud yn siŵr eich bod ei ddeall yn llwyr. IAWN. IAWN. Dylai unrhyw un angen mwy o amser i ddarllen drwy'r cod hwn? IAWN. Felly, mae'n ymddangos i mi fod yn y rhaglen hon Rwy'n gan greu dau linyn drwy ddefnyddio GetString. Un o'r enw ac un o'r enw t. Ac os ydynt yn gyfartal yn dychwelyd at ei gilydd, dylai argraffu "Chi teipiwch yr un peth. " Ond elsewise, byddai'n argraffu, "Rydych yn teipio pethau gwahanol, "iawn? Seems iawn, yn syml iawn. Ond, fodd bynnag, os wyf mewn gwirionedd ceisio ysgrifennu rhaglen hon, mae'n ymddangos bod hyd yn oed pan fyddaf yn mewnbwn yr un llinynnau union, mae'n dal yn argraffu allan, "Rydych yn deipio pethau gwahanol! " A oes unrhyw un eisiau cymryd ergyd ar pam y rhaglen hon bob amser yn ymateb bod y mewnbynnau yn wahanol, hyd yn oed pan fydd y geiriau eu hunain yr un fath? Felly, pe bawn yn input-- David gariad i ddefnyddio esiampl fel mom, dde? Llythrennau bach M-O-M ar gyfer S, T yn hafal llythrennau bach M-O-M. Os wyf yn rhedeg hyn trwy cod hwnnw, pam y byddai ei argraffu "chi deipio gwahanol bethau?" A oes unrhyw un angen mwy amser i feddwl am hyn? OK, yr wyf yn credu ein bod yn dda. Yeah? GYNULLEIDFA: OK, felly mae'n rhywbeth am lle mae ei storio yn y cof, dde? ATHRO: Yep. GYNULLEIDFA: Ble mae fel, os yw hyn llinyn s yn cael ei storio yn y cof spot-- Im 'yn dyfeisio this-- yn sero. ATHRO: Cadarn. GYNULLEIDFA: A llinyn t yn cael ei storio yn y fan a'r lle cof, fel, 167, ac yna Nid yw sero yn gyfartal 167. ATHRO: Yn union. Iawn, felly cofiwch hyn anhygoel datguddiad rydym yn esbonio i chi guys yr wythnos hon ddiwethaf, fod Nid yw llinynnau yn bodoli mewn gwirionedd? Pan fyddwn yn creu rhywbeth o'r enw llinyn rydym yn, mewn gwirionedd, greu rhywbeth a elwir yn seren torgoch. Y mae pob mae'n rhoi syniad i llinyn neu i amrywiaeth o chars. Ac felly yn yr enghraifft hon, os byddaf oedd mewnbwn M-O-M y ffordd y byddai fy chyfrifiadur ei storio yn o fewn slaes cof sero, dde? Mae'r rhai pedwar cymeriad, chars, yn cael ei storio yn rhywle. Ac yna bedwar hyn cymeriadau, slaes sero, yn cael eu storio yn rhywle arall, dde? Does gen i ddim syniad ble mae'r cyfeiriadau yn, maent yn rhywle yn fy chyfrifiadur. Ond nid wyf yn union yn gwybod ble maen nhw. Pan fyddaf yn creu llinyn s, y cyfan sydd wir yn yn pwyntydd i'r yn dechrau o linyn hwn. A phan wyf yn creu y gwerth t, popeth sy'n pwyntydd i fan hyn. Ac felly pan fyddwch yn ceisio i gyfateb a gwirio i weld a yw s yn gyfartal yn hafal i t, y cyfrifiadur yn wir yn unig yn dychwelyd i chi gyfeiriad m hon a chyfeiriad y m. Ac oherwydd eu bod yn ddau darn gwahanol o ddata sy'n cael eu storio mewn dau wahanol cyfeiriadau yn eich cyfrifiadur, byth yn eich cyfrifiadur yn mynd i eu cydnabod fel yr un fath. A oes unrhyw un eisiau rhoi ergyd yn yr hyn yr ydym Byddai'n rhaid i wneud os ydym yn awyddus i gywiro hyn ac mae gennym raglen rhedeg cywir yn lle hynny? Meddyliwch am hynny am gwpl o eiliadau. Beth sydd angen i ni newid i cael hyn gweithrediad y rhaglen y ffordd yr ydym am iddo i weithredu? Yeah, am gymryd drywanu arno? GYNULLEIDFA: A allwn geisio dereference y pwyntydd a gwirio drwy'r llu? ATHRO: Dyna un ffordd i wneud hynny. Felly, beth yw eich enw eto? Mae'n ddrwg gen i, atgoffwch fi. Zee: Zee. ATHRO: Yeah, felly beth Zee Awgrymodd y byddai gwbl yn gweithio. Iawn? Gallem dereference y pwyntydd ac mewn gwirionedd yn mynd a mynediad mae'r data ffisegol tu mewn fan hyn. A gallwn jyst gymharu sgrîn gyfan. Gallwn ddweud, OK, pwyntydd, roi i mi yr hyn sydd y tu mewn fan hyn. Byddai'n dychwelyd m. A byddwn yn dweud, pwyntydd, roi i mi yr hyn sydd y tu mewn fan hyn. Dychwelyd i m. A yw'r rhai cyfatebol? Ydw. Yna, rydym yn symud ymlaen. Byddwn yn cadw wirio y ddau cyfan llinynnau yr holl ffordd i fyny tan y diwedd a gweld os bydd y rhai yn gyfartal, os yw'r holl werthoedd yn gyfartal. Ac os holl werthoedd yn gyfartal, Yna, rydym yn gwybod y tannau yn wir. Yn hollol, dyna sut y byddem yn ei wneud? A oes unrhyw un drysu ar unrhyw un hyn? Mae'r cysyniad cyfan o sut y llinynnau yn wir yn unig awgrymiadau, a sut y maent nid yn bodoli mewn gwirionedd? A pham rydym yn cael gwallau fel y ffordd yr ydym yn ei gael? Gan fy mod yn gwarantu i chi guys, awgrymiadau a dyrannu llinyn a chof yn mynd i ddod i fyny. Yeah? GYNULLEIDFA: [Anghlywadwy] dereference y peth, 'ch jyst rhowch seren [Anghlywadwy] ATHRO: Iawn. Felly, er mwyn derererence pwyntydd modd i fynd i'r cyfeiriad hwnnw o'r pwyntydd ac yn cael y data, mae'r gwerth yno. A'r ffordd o wneud hynny yw pwyntydd seren. Peidiwch â drysu hynny. GYNULLEIDFA: [Anghlywadwy]. ATHRO: Yeah. GYNULLEIDFA: Felly gallwch ysgrifennu os seren s gyfartal t hafal seren. ATHRO: Wel, dim. Na GYNULLEIDFA: Nid yw hynny'n ddigon da, dde? ATHRO: Nid yw'n, oherwydd eich bod yn gwirio llythyren gyntaf yn unig. Mae'n debyg y byddwch chi'n mynd i Mae angen rhyw fath o dolen sydd ailadrodd trwy bob un cymeriad yn y ddau llinynnau. Yeah. Felly, os ydych yn awyddus i jyst edrych i weld os ydynt yn dechrau gyda yr un peth, y gallwch ei wneud os, seren s yn hafal i seren t. Yna byddwch yn gwybod bod o leiaf maent yn Dechreuodd gyda'r un cymeriad. Yeah? GYNULLEIDFA: Felly, y ffordd ydych fyddai'n cael ei fel hymgorffori gyfer dolen neu pwyntydd? ATHRO: Yeah. 'N bert lawer dim ond ar gyfer dolen. Cofiwch, David yn y dosbarth a grybwyllir siwgr cystrawennol rhad ac am ddim? Ac roedd ganddo hyn yn iawn beth dryslyd o seren t ynghyd ag un, lle y byddai'n integreiddio trwy ac mae'n symud pwyntydd? Y ffordd haws o wneud mae hyn yn unig t o i. Felly dim ond arae. Mae'r ffordd y byddai gennych am ddolen a oedd yn rhedeg o ddim i fi, ble ff yw hyd y llinyn, fe allech chi jyst ysgrifennu hynny yn hytrach na gwneud y pwyntydd cyfan, cyfeirnod beth. Felly mae'r pethau hyn yn union cyfatebol yn eich cyfrifiadur. Rydych guys yn ôl pob tebyg ni fydd angen gwybod hynny, ond mae'n dda i ddim ond math o gael yn y cefn eich meddwl. Dim ond yn gwybod bod y cyfrifiadur yn cydnabod gwahanol flociau o god gan fod yr un peth. Oherwydd bod hyn yn unig yn llawer haws i'w ddefnyddio gyfeillgar i ni gyflwyno fel ei fod yn arae. 'I' jyst yn haws. GYNULLEIDFA: Felly defnyddiwch strlen i hoffi, get-- ATHRO: Yeah. GYNULLEIDFA: OK. ATHRO: Gallech defnyddiwch strlen neu, os ydych Nid oedd gan strlen gallwch ei wneud i fyny hyd nes y byddwch yn taro slaes sero ar gyfer y ddau. Byddai Naill ai gweithio. Yeah. GYNULLEIDFA: Felly mae'n i dereference bob cymeriad unigol pe baem mewn gwirionedd ysgrifennu cod hwn, rydym yn Gallai dim ond gwneud t cromfachau ff yn hoffi gyda'r seren o flaen ohono? ATHRO: Yeah, hafal hafal s braced i, ac yna dal i symud i i lawr hyd nes i chi gyrraedd y diwedd. Yeah, dyna beth fyddech chi'n ei wneud. A byddaf mewn gwirionedd yn cael nesaf enghraifft pan fyddwn mewn gwirionedd ysgrifennu strlen felly byddwch yn guys caredig o fynd i chwarae o gwmpas gyda hi braidd. Felly, mae pawb yn glir ar y cof yn unig, llinynnau, awgrymiadau, cyfeiriadau ansawdd? Mae rhai cysyniadau lefel uwch sy'n eich ewyllys yn sicr angen gwybod ar y cwis yfory. Iawn. Da. Yep. Iawn, felly un peth yr ydym bydd hefyd yn gofyn chi, fel yr ydym yn ei wneud bob blwyddyn ar gwis, yw, Mae'n debyg eich bod wedi anghofio (sydd rydym yn ymddangos i anghofio gwneud yn flynyddol) lle mae strlen ffeil flaen ei ddatgan. Ac felly mae'n rhaid i ni ailysgrifennu ein hunain. Dyma restr o ganllawiau ein bod yn gallu cyflwyno chi guys lle rydych yn cael i gymryd yn ganiataol bod s Ni fydd y llinyn yn null. Gallwch chi gymryd yn ganiataol y bydd s yn terfynu gyda slaes sero. Felly, rydych yn gwybod dyna beth mae'n mynd i ben gyda. Ac, er enghraifft, bod y Byddai hyd helo fod yn bump oed. Felly, gallwch gymryd yn ganiataol bod helo Bydd pump, H-E-L-L-O. Nid oes rhaid i chi gymryd yn ganiataol bod y backside sero cyfrifon ar gyfer y darn. Mae hyn yn peth olaf yma, peidiwch â poeni am gorlif cyfanrif. A oes unrhyw un yn cofio gorlif beth cyfanrif yw? GYNULLEIDFA: Mynd y tu hwnt i'r hyd y [Anghlywadwy]. ATHRO: Yeah, allwch chi esbonio ychydig, beth mae hynny'n ei olygu? GYNULLEIDFA: Felly, yr wyf yn dyfalu ei fod yn mynd yn ôl at yr enghraifft truncating gynharach. Ond os oes gennych dim ond cymaint o rifau sy'n mynd y tu hwnt i'r nifer o ddarnau y gallwch mewn gwirionedd yn aseinio ei y bydd yn unig fath o dorri i ffwrdd. ATHRO: Yeah, y blaen nodweddiadol cyfrifiadur, faint o ddarnau sydd gennym? GYNULLEIDFA: 32? ATHRO: Yeah, 32, ar y dde. Ac felly dyna, beth, pedwar biliwn, dau biliwn o? Pedwar biliwn, hyd at phedwar biliwn gyfanrifau positif, dde? Mae dau biliwn negyddol, dau biliwn o gadarnhaol, yn dibynnu ar sut yr ydych am ei wneud. Ac felly y bôn gallwn gael digon o cyfanrifau sy'n gallu mynd i fyny i ddau i'r 31ain minws 1, dde? Oherwydd ar ôl i ni daro dau at y 32eg, nid ydym yn ei wneud rhaid bod llawer o gof yn ein cyfrifiadur. Ac felly, yn ddamcaniaethol, yr wyf yn Gallai ddod o hyd i rif hynny yw, fel, dau i'r 46eg. Mae'n nifer fawr-ass, ond ddamcaniaethol y gallai. Ac felly gorlif cyfanrif yw os ydych yn ceisio creu yn gyfanrif sy'n mynd y tu hwnt i'r hyn eich cyfrifiadur yn gallu storio. Ac er mwyn i chi guys i Nid yw yr enghraifft hon oes gan i chi boeni am ein rhoi cawr chi llinyn sydd dau i'r chars 32ain hir. Byddai hynny'n cael ei olygu mewn gwirionedd. Mae pob hawl, felly dwi jyst yn mynd i roi chi guys strwythur sylfaenol o hyn. Rydych yn mynd i greu swyddogaeth a elwir yn int strlen lle a pasio i mewn, yn seren golosg, neu linyn, pwyntydd i'r llinyn o'r enw s. Mae pob hawl, mae pawb gopïo hynny i lawr. Cool. Oops-- ffordd arall. Felly, mae hyn yn fath o fel darn galetach o broblem, felly byddaf yn rhoi guys efallai pump chi chwe munud i fath o tasgu syniadau ac ysgrifennu swyddogaeth hon allan. GYNULLEIDFA: Nid ydym yn ei wneud cyfrif am [Anghlywadwy], nid oes gennym i ddefnyddio cyfanrif? ATHRO: Na, nid ydych yn ei wneud. Byddaf yn rhoi i chi guys awgrym. Gall dolen tra yn ddefnyddiol iawn yma. Yeah. Dyma Candy. Bydd Candy hefyd ar gael ar gyfer y cwis, yr wyf yn meddwl. Felly, byddwch yn guys i gyd sugared fyny yfory. Allwch I-- chi got it. GYNULLEIDFA: OK. ATHRO: Yeah. Efallai 30 mwy eiliad neu ddwy. Mae pob hawl, os ydych heb ei wneud, dim pryderon. Byddwn yn symud drwy hyn gyda'n gilydd. IAWN. Felly, yr wyf i'n mynd i dim ond y cynllun y strwythur sylfaenol ar gyfer y swyddogaeth hon fan hyn. Int strlen. Yn gyntaf, a oes unrhyw un yn eisiau dweud wrthyf beth y int arwydd? Mae angen i ni gael yn y swyddogaeth hon. GYNULLEIDFA: Strlen [Anghlywadwy]. ATHRO: Yn union. Felly beth bynnag sy'n digwydd yn fan hyn, mae angen i ni ddychwelyd yn gyfanrif. Ac fel y nodir yn y spec, rydym am return-- Ewch amdani guys, dim ond cadw i fynd. Mae hyn i gyd yn dda. Fwyta i gyd, felly nid oes gennyf i'w gymryd yn ôl, mewn gwirionedd. Mae'r int yn unig yn arwydd eich bod yn mynd i fod yn dychwelyd yn gyfanrif. Beth yw hwn seren s torgoch? Beth yw ystyr hynny? GYNULLEIDFA: Fel, beth sy'n cael ei mewnbynnu i mewn. ATHRO: Yn union. A beth yw bron y un peth â seren torgoch? GYNULLEIDFA: Llinynnol? ATHRO: Yn union. Felly cyfan yr ydym yn ei wneud yw rhoi mae hyn yn pwyntydd i linyn. IAWN. Cool. Hefyd, peidiwch ag anghofio, os ydym yn anghofio i roi cromfachau hyn i chi, peidiwch ag anghofio i ysgrifennu eich hun. Gan fod yn ddamcaniaethol, eich cod yn anghywir os byddwch yn anghofio i ysgrifennu iddynt. Dim ond bob amser yn talu sylw. Fel, pethau bach nad ydych yn sylwi pan fyddwch yn rhaglennu ar eich gliniadur, oherwydd bod eich gliniadur yn gwneud hynny ar eich rhan? Peidiwch ag anghofio pan eich bod yn ysgrifennu â llaw. Yeah? GYNULLEIDFA: Ond sut anghywir? Fel, yr ydym yn cael y broblem gyfan anghywir? ATHRO: Na, na. Peidiwch â phoeni. Mae'n mewn gwirionedd bosibl mewn egwyddor i chi gael pwyntiau llawn ar gwestiwn hyd yn oed os yw eich cod bydd byth yn rhedeg mewn bywyd go iawn. Yr wyf yn awgrymu nad ydych yn ceisio i wneud i hynny ddigwydd. Er enghraifft, fel os bydd popeth dyna yma yn iawn, ond byddwch yn anghofio colon neu braced, Ni fydd eich cod rhedeg mewn gwirionedd. Ond efallai y byddwn yn drugarog. Yeah? GYNULLEIDFA: Oes rhaid i chi sylwadau ar ein llawysgrifen? ATHRO: Na, na, na pryderon am hynny. Dim sylwadau. Dylai Arddull fod yn dda. Fel, peidiwch â smush popeth ar un llinell. Ni fyddwn yn hapus gyda chi os ydych yn gwneud hynny. A oes unrhyw un eisiau rhoi'r llinell gyntaf i mi? Awgrym, mae'n hawdd iawn. Yeah? GYNULLEIDFA: Int, n hafal sero. Newydd sefydlu cownter. ATHRO: Felly, rydym am gael rhywfaint o math o cownter, dde? Im 'jyst yn mynd i enwi yn "cyfrif" er mwyn darllenadwyedd. Beth ydym ni am ei osod yn hafal i? GYNULLEIDFA: Zero. ATHRO: Yep. Hanner colon. Mae hefyd yn hanner colon arlunio rhyfedd iawn. Dim ond yn ymarfer gwneud hynny. Felly, rydym yn awyddus i gael yn gyntaf cownter o'r math int. Oherwydd ein bod yn awyddus i gyfrif hyd sut nifer o gymeriadau neu lythyrau yn yn y llinyn hwn, dde? Cam cyntaf yn hawdd iawn. OK, efallai ychydig yn fwy cymhleth Erbyn hyn, sut ydym yn mynd i wneud hynny? A oes unrhyw un eisiau rhoi llinell o god i mi a allai eich helpu dolen drwy ba bynnag mae hyn yn? Yeah, enaid dewr yn y cefn? GYNULLEIDFA: OK, felly er pwynt seren, mae'r yeah, seren s, Nid yn hafal i sero, yna gwneud rhywbeth? ATHRO: Mae hynny'n wir, yn agos iawn. Really agos. Felly dw i'n mynd i fynd i'r afael â dau beth â hynny. Yn gyntaf oll, nid yw'n union sero. Beth yw e? Mae'n y terminator null, sydd yn slaes sero. Fel eu bod yn wahanol mewn ran sut y maent yn cael eu storio. Felly, rydych yn wirioneddol agos. Ac yn ail, nid ydym am i ddim ond symud pwyntydd. Rydym eisiau mewn gwirionedd gafael ar y gwerthoedd, dde? Ac felly, sut ydyn ni'n gwneud hynny? Hawdd iawn. Peidiwch â meddwl am awgrymiadau, peidiwch â meddwl am atgofion. Ewch yn ôl i wythnos dau o'r cwrs hwn. GYNULLEIDFA: [Anghlywadwy]. ATHRO: O, cofio? Beth yw llinynnau? Sut maen nhw'n cael eu storio yn y cof? GYNULLEIDFA: Maen nhw'n codi. ATHRO: Maent yn cael eu codi. Felly sut ydyn ni'n cael mynediad bob cymeriad y tu mewn? GYNULLEIDFA: [Anghlywadwy]. ATHRO: Yn union. Felly while-- beth sy'n mynd y tu mewn fan hyn? S o - GYNULLEIDFA: I. ATHRO: O, nid fi yn bodoli, nac ydi? GYNULLEIDFA: O, cyfrif? ATHRO: Gallwn yn unig defnyddio cyfrif, na allwn ni? GYNULLEIDFA: Mae'n ddrwg gennyf, yr wyf yn ei alw i. ATHRO: Yeah, 'i' i gyd yn dda. Mae gennym newidyn yma dyna eisoes wedi cael ei ddatgan fel ein cownter. Felly pam nad ydym yn unig yn defnyddio hynny i symud drwy'r ddolen tra? A yw hynny'n gwneud synnwyr? Felly, er bod s o count-- oes unrhyw un yn dymuno i roi i mi yr hyn sy'n digwydd ar ôl fan hyn? GYNULLEIDFA: Nid Mae'n gwneud gyfartal. ATHRO: Nid yw'n gyfartal, dde? Mae wedi y bang hafal, ebychnod yn dychwelyd, beth bynnag yr ydych guys eisiau alw nid yw'n equal-- GYNULLEIDFA: [Anghlywadwy]. ATHRO: Yeah. Cofiwch dyfynbris sengl yn un ar gyfer torgoch, dyfynodau dwbl ar gyfer llinyn. Byddwch yn ofalus wrth eu defnyddio. Felly, pan rydym yn edrych trwy yr amrywiaeth, cymeriad diwethaf, rydym yn gwybod nad ydym am ei fod yn slaes sero. Felly, er. Nid ydym yn ar ddiwedd y llinyn. Beth ydym ni am ei wneud y tu mewn? GYNULLEIDFA: Rydym eisiau ychwanegu at y cownter felly mae'n cyfrif yn ogystal plws? ATHRO: Yn union. Felly dyma ni yn mynd i wneud cyfrif, yn cyfrif yn ogystal a mwy. Ar goll un llinell mwy. Rydym yn bron yno. Beth rydym yn anghofio ei wneud? GYNULLEIDFA: Dychwelyd sero? ATHRO: Yr ydych eisiau dychwelyd sero? GYNULLEIDFA: Na, yn dychwelyd i strlen. Arhoswch. ATHRO: Pa cael ei storio mewn? GYNULLEIDFA: Cyfrif. Yn cyfrif. ATHRO: Yn union. Felly dyma ni yn mynd i ddychwelyd cyfrif. Oherwydd yr hyn rydym yn wneud yma ultimately-- mae gennym newidyn cownter sy'n mynd i gynyddiad drwy ein llinyn. Rydym yn mynd i gadw i fynd, cadw mynd, o gwmpas ac o gwmpas yn y ddolen hon. Ac er nad ydym chi ar y diwedd y llinyn, sef y terminator null. A phob tro y byddwn yn mynd drwy y peth, rydym yn ychwanegu at ein cownter. Ac rydym yn mynd ymhellach ynghyd mewn amrywiaeth hwn. Ac ar y diwedd, ar ôl i ni daro y terminator null, gwyddom, oh, y gallwn torri, dychwelwch y cyfrif. Rydym wedi ein strlen. Ydy pawb yn cael sut cafodd hyn ei roi ar waith? Er loops-- Rwy'n gwybod nad ydym wedi gwneud gormod gyda nhw, ond maen nhw fel arfer yn iawn, yn ddefnyddiol iawn os ydych yn ddim yn gwybod beth rydych chi'n rhoi'r gorau o reidrwydd gan fod cyflwr. Cwestiwn? GYNULLEIDFA: Allwn ni ysgrifennu null ar yr amod tra? ATHRO: Er bod? Yeah, felly yn y broblem hon fy mod wedi i chi guys cymryd yn ganiataol na fydd s yn null. Oherwydd cofiwch, ddamcaniaethol, os wyf yn rhoi i chi pwyntydd a oedd yn rhy fawr o gof, byddai'n rhoi'r null chi, dde? Dyna beth mae'r gweithredu Byddai system yn ei wneud. Felly os nad oeddwn yn dweud wrthych i gymryd yn ganiataol Byddai s yn null, mae angen i chi wirio. Felly i fyny yma, byddech yn ei wneud, os s hafal hafal null, yn dychwelyd un. Rhywbeth fel 'na. GYNULLEIDFA: [Anghlywadwy] sero. ATHRO: OK, byddaf yn dweud wrthych pam na allwn wneud hynny. Oherwydd bod yn cofio yn y cof, ar y dde, fan hyn. Byddwn yn mynd yma. Rydych chi wedi got blociau mawr o gof i gyd gyda gridiau y siop gwahanol werthoedd, dde? Ac felly yr holl llinyn yw-- am enghraifft, os ydym i fewnbwn helo, byddai'n H-E-L-L-O slaes sero, dde? Ac yna pwy a ŵyr, fel hap pethau sydd yn fan hyn ar ei ôl. Nid ydym yn mewn gwirionedd yn gwybod beth sydd yno. Ac felly os ydych yn ei wneud yn hytrach na slaes sero, null, efallai na fydd yn null. Oherwydd ei fod yn unig a all olygu rhai pethau eraill ar hap nad ydynt yn perthyn yn eich llinyn. Ac felly y modd yr ydym bob amser yn gwybod bod llinyn yn dod i ben yw gyda slaes sero. Ac felly dyna sut yr ydym bob amser yn gwirio i weld y pen llinyn. Null, pob modd hynny yw os oes gennych pwyntydd nad ydynt yn bodoli, yn gyntaf oll, neu os yw eich cof yn unig yw mor fawr fel bod nad ydych yn gallu dychwelyd, yna byddai'n fod null. Felly byddwch yn ofalus iawn wrth gwahaniaethu y gwahaniaeth rhwng null a'r slaes sero. Yeah. Mae pawb yn iawn gyda hyn? IAWN. Felly, yr wyf wedi cael chi guys ysgrifennu strlen. Yn ymarferol gallem hefyd yn gofyn i chi ysgrifennu allan A i I, cofiwch fod "Atwoa" neu beth bynnag yr ydych guys am ei alw? Swyddogaeth honno mewn Vigenere a Cesar, bod yn trosi gwerth ASCII i cyfanrif? Mae hynny hefyd wedi dod i fyny ar gwisiau gorffennol swyddogaethau rydym wedi gofyn i chi ysgrifennu. 'N bert lawer unrhyw swyddogaeth eich bod wedi defnyddio ac yn hawdd iawn i ysgrifennu eich hun, synwyryddion yn hoffi yn is, yn uwch, er mwyn gostwng, i'r uchaf. Swyddogaethau a fyddai'n drosi llinyn o lythrennau bach i priflythyren. Rydym i gyd yn gwybod sut i wneud hynny, dde? Mae'n eithaf hawdd. Dim ond eisiau gwneud yn siŵr eich bod yn can-- 'i' yr un broses feddwl. Rydych yn unig ailadrodd drwy ac rydych yn troi pethau. Chi naill ai yn cyfrif neu pan fydd chi droi pethau'n wahanol. Byddwn yn suggest-- fy mod ddim yn gwybod os ydym yn mynd i ofyn i chi gofio pa cyfalaf A neu Z cyfalaf, neu llythrennau bach A neu llythrennau bach z yn ASCII, ond byddwn yn awgrymu efallai ysgrifenedig ei lawr rhag ofn rydym yn ei wneud. Yn union fel eich guys yn cael geirda. Fel priflythyren A yw, beth, 197? Ac yna llythrennau bach yn debyg 50 rhywbeth. 65, ie, dyna ni. Felly, dim ond 'n bert lawer yn adnabod y gwahaniaeth rhyngddynt yn 32. Dyna 'n bert bwysig. Yeah. Ydw i'n dda ar hyn? IAWN. GYNULLEIDFA: Gallem ddamcaniaethol ysgrifennu rhai o'r rhain i lawr yn ogystal ar ein little-- ATHRO: Yr ydych yn ddamcaniaethol Gallai jyst adysgrifia y swyddogaeth i lawr. Mae hynny'n wir. GYNULLEIDFA: Ddim [Anghlywadwy]. ATHRO: Yr ydych guys yn cael taflen. Rydych guys yn cael taflen nodiadau. Gallwch deipio. Gallwch ysgrifennu arno. Gallwch wneud beth bynnag yr ydych ei eisiau ag ef. Yeah. Felly ddamcaniaethol, os ydych chi eisiau, fynd am. GYNULLEIDFA: [Anghlywadwy] ond nid ydym yn ei wneud mewn gwirionedd Mae angen cofio o angenrheidrwydd gwerth, o fewn ein gallu yn unig defnyddio'r at uchaf neu i swyddogaeth is, dde? ATHRO: Yeah. Ond os ydym yn rhoi i chi cwestiwn sy'n dweud ysgrifennwch at uchaf, yna byddai angen i chi ei ysgrifennu. Felly, gallwch chi guys gymryd yn ganiataol y byddwch yn guys yn cael mynediad i'r holl swyddogaethau, ond os ydych am eu defnyddio i uchaf neu i yn is, beth sy'n rhaid i chi ei wneud hefyd? GYNULLEIDFA: [Anghlywadwy] defnyddiwch CS50 [Anghlywadwy] ATHRO: A yw'n CS50.h? Byddwch yn ofalus yno. Felly, er mwyn uchaf, i ostwng, yn uwch, yn is, swyddogaethau sy'n cynnwys trin llinyn yn i gyd o fewn naill ai yn y ASCII neu o fewn y llyfrgell mathemateg neu o fewn y llyfrgell llinyn. Felly, os ydych yn defnyddio rhai guys swyddogaethau, byddwch yn ofalus i gofio i gynnwys y pennawd. Felly efallai hefyd yn rhywbeth i chi am eu cynnwys yn eich taflen, beth yw'r pennawd? Beth yw'r llyfrgelloedd yr ydych wedi bod yn defnyddio? Pa swyddogaethau y tu mewn llyfrgelloedd hynny? Mae'n bwysig. Yeah? GYNULLEIDFA: A allai rydym yn unig cop allan a gwneud hashtag trwy'r gwbl pob llythyr rydym wedi erioed gweld fel ar bob un o'r cwestiynau? ATHRO: Gallech. Nid wyf yn gwybod pa mor hapus rydym yn mynd i fod i raddfa hynny cwis pan fydd pob darn o god ddwywaith cyn belled ag y mae angen iddo fod. Nid wyf yn gwybod, gallem cymryd oddi ar bwynt ar gyfer arddull. Ond ddamcaniaethol eich Byddai cod fod yn iawn. Gallech guys cop allan a dim ond cynnwys popeth. Mae hynny'n iawn hefyd, yeah. GYNULLEIDFA: [Anghlywadwy]. ATHRO: Yeah. Byddwn yn awgrymu peidio â gwneud hynny er. Yeah. GYNULLEIDFA: Cool. ATHRO: Cwestiwn da. GYNULLEIDFA: Felly, mae'r sefyllfa waethaf. ATHRO: Yr achos gwaethaf. Os byddwch yn anghofio yn llwyr, gallech wneud hynny. Yeah. Yep, cod yn iawn yno. Roeddwn i'n arfer n yn lle cyfrif, ond, byddwch yn yn gwybod, beth bynnag arnofio eich cwch. GYNULLEIDFA: Arhoswch, felly rydym yn Ni fyddai'n rhaid i hashtag cynnwys oherwydd ein bod yn ddechrau yn y int? ATHRO: Yeah, Fi jyst cymryd yn ganiataol bod gofynnwyd i ni ysgrifennu y swyddogaeth. Os ydych yn awyddus i fod yn ddiogel, i chi yn ôl pob tebyg y gallai ei roi yno. Ond yr wyf nid yn unig oedd yn trafferthu, yeah. Dydw i ddim hyd yn oed yn gwybod os ydych yn Mae angen i unrhyw lyfrgell ar gyfer hyn. Oherwydd nad ydych yn argraffu 'n sylweddol allan unrhyw beth neu unrhyw beth, dde? Yeah, nid wyf yn gwybod os bydd angen llyfrgell. IAWN. Mae hyn hefyd ychydig yn fwy ar hyd y llinellau o drin cof. Mae'r math hwn o ychydig yn anodd. Meddyliwch am hyn. Mae gennych swyddogaeth o'r enw func. Gallwn fod wedi enwi ei beth bynnag, ond yr wyf yn dewis ei enwi func. Yr wyf wedi ei uwchlaw fy mhrif. Cofiwch, rydych am ei gael swyddogaeth ar ôl eich prif, ydych am wneud yn siŵr eich bod yn cynnwys y prototeip y top. Ond yn yr achos hwn ei fod mor fyr fy mod yn teimlo fy mod gallwn jyst dylech ei gynnwys ar ben y brif. Nid oedd angen i mi gael y prototeip, gan ei fod eisoes yn ysgrifennu uchod. Felly yr holl rwy'n ei wneud yn fy mhrif swyddogaeth yn creu cyfanrif x yn hafal 10. Rydw i'n galw fy swyddogaeth func, ac yna printio i fyny rhywbeth. Ac yna dyna mewn gwirionedd pa func yn ei wneud. Rydych guys yn awyddus i feddwl drwy hyn. Oherwydd ei fod yn ychydig yn anodd. Mae'n iawn, anodd iawn, mewn gwirionedd. Meddyliwch beth mae hyn Byddai rhaglen yn outputting. Byddaf yn rhoi i chi guys ddwy funud. Trafodaethau da? GYNULLEIDFA: Yeah. ATHRO: Yeah. Mae pob hawl, felly mae hyn yn anodd am reswm. A dyma pam yr wyf yn awyddus i ddod hwn i sylw pawb. A oes unrhyw un yn awyddus i roi i mi awgrym, ymgais? Beth fyddai hyn yn argraffu? Hollol iawn os ydych yn anghywir. Yeah? GYNULLEIDFA: Rwy'n credu ei fod 100 a Yna, 10 ar ddwy linell ar wahân. ATHRO: A 10? A oes unrhyw un yn cael unrhyw dyfaliad eraill? Yeah? GYNULLEIDFA: Efallai dim ond 10 achos Nid yw func yn dychwelyd unrhyw beth? ATHRO: OK, felly rydym yn wedi dyfalu rhif un yw y rhif dyfalu dau yn jyst yn mynd i argraffu 10. A oes unrhyw un yn cael unrhyw dyfaliad eraill? IAWN. Felly gadewch i ni gerdded drwy hyn, dde? Pryd bynnag y byddwch yn cael darn o god, peidiwch â edrych arno ac yn bod fel, AH, dyna gymaint stwff! Rydw i mor ddryslyd! Fel, dawelu eich hun i lawr. Dim ond yn gwybod bod gallech jyst edrych drwy linell wrth linell cod. Dyna i gyd y mae. Mae fel darllen llyfr. Felly, gyda unrhyw swyddogaeth, rydym bob amser yn dechrau ym mhrif. Felly rydym yn mynd i dechrau am brif ddi-rym int, hyd yn oed y rhaglen eisoes yn rhedeg i lawr, dde? Dechreuwch ar yn y prif ddi-rym. Int x yn hafal 10. Felly, yr wyf i'n mynd i ddileu hyn. Rydw i'n mynd i dynnu llun y cof yn unig er mwyn i chi Gall guys fath o weld beth sy'n digwydd. Cofiwch lawr yma rydym wedi ein pentwr? Yma rydym wedi ein domen rhywle i fyny yma. Stack yn tyfu i fyny, dde? Ac o fewn y pentwr, mae gennych y prif gyflenwad yn gweithredu yn ogystal â pob un prif gyflenwad newidynnau lleol. Felly dyma, int x hafal i 10. O fewn ein prif swyddogaeth rydym yn gan greu newidyn a elwir yn x. Rydym yn pennu hynny hafal i 10. Yma mae gennych rai x, ac rydych yn pennu bod hafal i 10, i'r dde, o fewn prif. Mae pawb yn dda? Swyddogaeth. Felly nawr, o fewn ein prif swyddogaeth, rydym yn galw y swyddogaeth yr ydym wedi ysgrifennu uchod. Felly, rydym yn awr yn mynd i mewn yn yr ail swyddogaeth. Rydym yn mynd i greu un arall newidyn int x yn hafal 100. Beth sy'n digwydd yma yn y pentwr? Beth sy'n digwydd pan fyddwch yn galw am swyddogaeth sy'n creu newidynnau newydd? Beth fydd yn digwydd yma yn y pentwr? GYNULLEIDFA: [Anghlywadwy] pentyrrau ar ei ben? ATHRO: Yeah. Felly mae'n mewn gwirionedd yn creu copi. Ac mae'n fath o pentyrrau ar ei ben. Meddyliwch am y pentwr stack-- o lyfrau, pentwr o unrhyw beth. Pentyrrau ar ei ben, yn gyntaf yn olaf allan, bara i mewn, cyntaf allan. Felly mae'n mynd i greu x yma. Mae hynny'n mynd i gael yr holl newidynnau funcs. Great. Felly nawr mae gennym ddau wahanol x bod yn cynrychioli dau beth gwahanol iawn. Yna, rydym yn mynd i argraffu allan y cyfanrif o x. Felly gadewch i argraffu 100, dde? Oherwydd dyma ei fod yn 100. Felly dyna'r peth cyntaf ei fod yn mynd i'w hargraffu. Gan fod hyn ddim yn dychwelyd swyddogaeth, Erbyn hyn swyddogaeth honno, y llinell yn y prif yn cael ei wneud. Mae pawb yn dda gyda mi hyd yn hyn? Felly, rydym yn awr drwy ddau allan o'r tair llinell o'n prif swyddogaeth. Nawr rydym yn mynd at y drydedd linell. Rydym yn mynd i printf. Beth yw x hwn o fewn prif? Beth mae hynny'n ei gynrychioli? Pa werth yw x yn awr? GYNULLEIDFA: 100. ATHRO: Mae'n 100? GYNULLEIDFA: Still 10. ATHRO: Still 10. Yeah. Oherwydd cofiwch, o fewn ein func, x yn hafal 100. Ond os ydym yn dychwelyd yn ôl at ein prif swyddogaeth, y newidyn yn cael ei storio mewn le gwahanol ar ein corn. Felly nawr mae angen i ni fynd yn ôl i'r prif stac, prif gyflenwad newidynnau lleol. A dyma x yn hafal i 10. Ac felly rydym yn mynd i argraffu 10. Felly roedd hi'n hollol gywir. Rydym yn mynd i gael y allbwn o 100 a 10. Yeah? GYNULLEIDFA: Pan fyddwch yn malloc, a yw'n y domen neu y pentwr sydd yn [Anghlywadwy]? ATHRO: Pan fyddwch yn malloc, eich bod yn cymryd cof o'r domen ac yn dyrannu ei. Fel nad oes gennych i chwarae o gwmpas gyda unrhyw un o hyn. Felly, yr wyf yn dyfalu y bwyd parod mwy yma yn rhywbeth a elwir yn gwmpas. I'r rhai ohonoch a oedd mewn y sesiwn adolygu neithiwr, buom yn siarad yn fyr am hyn. Scope yn diffinio sut a pan fydd eich newidynnau yn bodoli. Neu o fewn yr hyn fframiau gwneud eich newidynnau yn bodoli. 'N bert lawer y synnwyr y fawd yn gyffredinol yw, mae eich variables-- os byddwch yn eu creu y tu mewn braces-- cyrliog maent yn bodoli Dim ond y tu mewn bresys cyrliog hynny. Felly, er enghraifft, yn ein swyddogaeth func, byddwch yn gweld y ddau bresys. Os ydych yn creu unrhyw beth tu mewn iddo, tebygolrwydd yw yr holl ydych yn ei wneud yw creu pentwr a storio nad oes. Un peth yn y prif. Dyna dim ond ei storio y tu mewn o brif. Hefyd ydych am fod yn iawn, yn ofalus iawn yma. Gan fod cwmpas hefyd yn rhoi benthyg ei hun i enghreifftiau gwahanol. Felly, er enghraifft ar gyfer dolen, er int i dychwelyd 0. Rwyf yn llai na, nid wyf yn gwybod, 10. Rwyf yn ogystal a mwy. A bod gennych cod tu mewn iddo, dde? Ble mae newidyn hwn, i, mewn gwirionedd yn bodoli yn unig? Dim ond tu mewn i'ch am ddolen. Felly, yr wyf yn siwr llawer ohonoch guys yn cael Mae'n debyg dod ar draws gwall hwn pan rydych chi'n ei wneud rhaglenni yn eich psets. Faint ohonoch chi guys wedi ceisio defnyddio i y tu allan i ar gyfer dolen ac roedd gwall? Fel cyfanrifau unreferenced neu rywbeth fel 'na? Y rheswm pam mae hynny'n digwydd oherwydd dyma eich bod yn gan greu rhywbeth mai dim ond yn bodoli o fewn eich am ddolen. Ac os ydych yn ceisio ei ddefnyddio, nid fi yn gwneud mewn gwirionedd yn bodoli y tu allan iddo. Felly y bôn cyfrifiadur yn dweud, yr wyf yn nid ydynt yn gwybod beth yr ydych yn sôn amdano. Mae'r holl wn i yw bod fi oedd yma, ond erbyn hyn mwyach. Felly, pe bawn yn creu ar gyfer dolen y tu mewn, dde? Ac yr wyf i'n mynd i greu un arall, fel int j, ac wedi ei wneud beth bynnag. Ac mae gennych god tu mewn hynny dolen, j ond yn bodoli yma. Ond mae hynny hefyd yn bodoli o fewn i. Ac felly j ond yn bodoli o fewn hon ar gyfer dolen, tra fi bodoli yn yr holl beth. Mae pawb yn glir? Yr un peth â'r datganiadau amodol os ydych chi am greu unrhyw beth. Yr un peth gyda dolenni tra os ydych am greu unrhyw beth. Mae hynny'n rhywbeth i fod yn iawn, yn ofalus iawn am. Felly, mae hyn yn broblem wirioneddol dda yn y synhwyro ei fod yn dangos dau beth. Roedd yn dangos yn gyntaf, cwmpas. Ac mae'n dangos hefyd yn dyrannu cof. Oherwydd dylech chi guys yn gwybod bod swyddogaethau yn tyfu i fyny yn y pentwr. A bod pan fyddwch yn ffonio swyddogaethau, rydych yn creu hanfod yn pentwr newydd o gof. Mae hynny'n wahanol iawn i beth yw eich cof prif gyflenwad yw. Yeah. Whew! Mae pawb yn iawn ar hynny? Dyna oedd ddryslyd. Pynciau da iawn i fynd drosodd, oherwydd eich bod yn ôl pob tebyg mynd i gael rhywfaint o anodd pethau fel hynny ar y cwis. Yeah. Cool. 'N annhymerus' yn rhoi i chi gael 100 ar un llinell ac yna 10 ar y llall. Yeah, yn dda iawn. OK, yn awr y byddwch yn guys yn cael y cyfle i fod yn CA. Byddwch yn cael i ateb yr holl hyfryd negeseuon e-bost yr wyf weithiau'n cael. Felly, Annwyl Andi, yr wyf yn gweld yr wyf yn meddwl rhywbeth o'i yn mynd o'i le ar fy compiler. Rwy'n sicr bod fy cod yn gywir, ond yr wyf yn cadw cael nam segmentu bob tro yr wyf yn rhedeg. Beth sy'n Digwydd? Helpwch, llawer o gariad. Os ydych yn guys yn cael rhywbeth fel bod sut y byddech yn ymateb? Mae'r rhain yn gyffredin iawn mewn gwirionedd gwestiynau byddwn yn gofyn i chi. Yw os, byddwn yn rhoi i chi yn senario, byddwn yn rhoi i ni eich dyfalu gorau yn yr hyn sy'n digwydd. Gall unrhyw un gael drywanu ar yr hyn sy'n mynd ymlaen? Yeah? GYNULLEIDFA: dereferenced Efallai y null, rhywbeth fel pwyntydd yn pwyntio at rywbeth null. ATHRO: Yeah, byddwn hynny fod yn enghraifft o pryd y byddai hynny'n digwydd. Ond beth yw'r llun mwy o'r hyn sy'n digwydd yma? GYNULLEIDFA: A yw'n eich bod yn ceisio i gael mynediad i gof nad ydych yn i fod i gael mynediad i? ATHRO: Yn union. Felly meddyliwch am nam SEG, oddi ar terfynau, ardal gyfyngedig er cof na ddylech fod yn cyffwrdd. Felly, 'n bert lawer pan fyddwch yn ceisio i index-- fel er enghraifft, eich bod wedi datgan amrywiaeth o sero i naw. Ond yr ydych yn ceisio cyffwrdd y 10fed gwerth, nid oes gennych fynediad at hynny. Oherwydd nad ydych wedi datgan ei. Ac felly eich cyfrifiadur yn mynd edrych ar hynny fod yn debyg, uh oh, yr ydych yn ceisio i fynd y tu allan i ffiniau mynegai. Rydw i'n mynd i roi i chi nam segmentu. Meddyliwch amdano fel segment, dde? Mae segment ychwanegol, mae'r diffyg yn pan fyddwch yn ceisio torri rywbeth ac ni ddylech fod yno. Fai segmentu yw unrhyw adeg byddwch yn ceisio cyffwrdd pethau na ddylech fod yn cyffwrdd. Felly enghreifftiau cyffredin yw mynegai. Wrth gwrs, os ydych yn ceisio i gyffwrdd a oedd yn null, Byddai hynny hefyd yn gweithio cystal. Os bydd eich pwyntydd yn ceisio cyffwrdd pethau na ddylid cyffwrdd, Gallai hynny hefyd yn gweithio cystal. Mae'r rhan fwyaf fel arfer wnewch chi helpu gweld hyn mewn amrywiaeth. Mae pawb yn dda? GYNULLEIDFA: Felly os ydych am i gael mynediad i'r pwynt 10fed ac mae dim ond terfyn o naw neu rywbeth. ATHRO: Yeah, yn union. 'N bert lawer. Cool. Annwyl Andi. Felly, mae gennym y rhain gwych pethau a elwir math. Os Cyfuno sort-- wrth i ni Gwelodd yn enghraifft pan David wnaeth y cyfan beth yn class-- pam, os yw'n mor llawer cyflymach nag unrhyw un o'r mathau eraill, pam yr ydym yn hyd yn oed yn trafferthu gan wybod unrhyw rai o'r mathau eraill? Beth yw y cwestiwn hwn mewn gwirionedd yn gofyn i chi? Beth yw'r tri word-- GYNULLEIDFA: Beth yw'r cyfaddawd? ATHRO: Yn union. Dyna beth mae'r cwestiwn yn ei ofyn. Beth yw'r cyfaddawd rhwng Cyfuno fath penillion unrhyw mathau eraill? GYNULLEIDFA: Cymryd cof, dde? ATHRO: A ydych yn esbonio bod ychydig yn fwy? Yn gyntaf gadewch i ni egluro storio Cyfuno. Sut mae Cyfuno fath yn gweithio? GYNULLEIDFA: Felly mae'n gweithio drwy rhannu popeth i mewn i hanner ac yna roi at ei gilydd ac ailddyrannu mewn trefn, fel bob tro y byddwch yn uno y setiau. ATHRO: 'N bert lawer. Felly gallaf dynnu hyn allan, ond byddai'n cymryd pum munud i mi dynnu allan. Edrych yn ôl ar y sleidiau adran lle rydym yn cynnwys didoli Cyfuno. Yn union. Felly, y ffordd Cyfuno gwaith didoli a yw'n rhannu pethau yn ei hanner, ac yna 'i jyst yn edrych ar y Gwerthoedd cyntaf o bob un ohonynt ac yn rhoi trefn yn unig hynny. Yn barhaus yn creu araeau newydd a rhoi pethau yn fwy a mwy mewn trefn. Ac felly er bod hynny'n iawn, iawn gyflym oherwydd it's-- eich bod yn gwybod, chwiliad deuaidd yn n log n. Rydych yn creu cymaint o gwahanol araeau eich bod yn gan ddefnyddio llawer iawn o gof. Ac felly er ei bod yn gyflymach, y fasnach off yma yw eich bod yn defnyddio mwy o gof. Ac felly, awgrym, math a chwiliadau Ymdriniwyd yn llawer mwy eleni nag y maent wedi bod yn y blynyddoedd blaenorol. Rydych guys ddylai weld bod hadlewyrchu yn unol â hynny ar y cwis. Byddwn yn bendant yn treulio amser yn mynd dros yr hyn pob un o'r gwahanol fathau yn, chwilio pa mor deuaidd, pa mor llinol o waith chwilio. Sut i efallai pseudocode godio rhai sydd allan. Beth yw'r amserau rhedeg? Rhywbeth fel amseroedd rhedeg yn iawn hawdd i gopïo i lawr ar ddalen nodiadau, iawn? Mae'n anodd iawn pan fyddwch chi'n yn y canol y prawf a rhaid i chi ffigur hynny. Copïwch i lawr. Yr wyf yn gwarantu i chi eich bod yn mynd i angen i wybod hynny. Beth yw'r cyfaddawdau? Achos gwaethaf, senarios achos gorau gyfer pob un ohonynt, yn cael iawn i wybod. Yeah? GYNULLEIDFA: A oes angen i ni'n yn gwybod sut i roi cod didoli Cyfuno? Fel, oes angen i chi i ni cofio'r dychweliadol? ATHRO: Fi 'n dal yn amau ​​hynny, dim ond oherwydd mae fel weddol gymhleth. Ond efallai na fydd yn anymarferol os byddwn yn gofyn i chi ddefnyddio pseudocode 'ii maes. Yeah. Yep, OK, un yn fwy. Gallai hyn fod wedi dod i fyny mewn chi darn olaf mewn ychydig. Yeah? A wnaeth pawb glywed hynny? Iawn, felly 'n bert lawer cyntaf i gyd, pa fath o raglen fyddai'n rhoi allbwn fel hyn i chi? Cofiwch ein bod yn gofyn i chi i ddysgu am y math newydd o offeryn debugging? Beth oedd ei enw ef? Valgrind, dde Roedd rhaglen lle gallech ffonio y gallai cadw golwg ar yr holl y cof eich bod yn defnyddio yn eich rhaglen a oedd yn digwydd. Felly, os oes gennych chi rywbeth, fel, yn bendant colli, 40 bytes mewn un bloc. Mae'n debyg nad ydych yn gan gofio i ryddhau ef. Oherwydd os ydych yn defnyddio bytes o gof, sy'n golygu eich bod wedi gweld y cof, ond nid ydych wedi gallu i ryddhau. Felly rydych chi am wneud yn siŵr eich bod chi'n hefyd defnyddio free-- mae hynny'n function-- i ryddhau pob o'r cof ailddyrannu gan malloc. Cool. Felly sleid hon, bydd yr wyf wedi ei fyny. Mae'n ym mhob man yn llawer o darlithoedd, mewn llawer o adran sleidiau. Rydych yn wir am wneud yn siŵr 'ch jyst yn gwybod hyn i gyd. Naill ai yn eich taflen nodiadau neu os ydych eisiau ei gof iddo, mae croeso i. Mae hynny'n iawn, iawn, yn bwysig iawn. Hefyd yn dda iawn cwestiwn y gallwn ofyn. Pam mae Dewis sort-- edrych ar Dewis sort-- pob un o'r runtimes yn cael eu sgwâr n. Waeth sut mae'r rhestr yn dod i chi fel, felly pam mae sort-- Dethol Byddaf yn rhoi i chi guys 30 ail feddwl am hyn. Oherwydd ei fod yn fath o ddryslyd. Mae'n cynnwys rhai yn meddwl cysyniadol. Pam y byddai amseroedd rhedeg yr un fath yn y sefyllfaoedd gwaethaf a gorau? Yeah? GYNULLEIDFA: Gan fod Dethol fath bob safle neu le yn y amrywiaeth bach hwn beth neu beth bynnag. Felly hyd yn oed yn y senario achos gorau, hyd yn oed os caiff ei datrys yn berffaith, byddai'n rhaid ei fod yn dal i fod yn debyg, OK, un. Yn fy lle cyntaf i mi gael un. Ac yn mynd drwy bob un ohonynt. OK, un yw'r lleiaf. Ac yna mae'n mynd eto ac yn debyg, OK, dau yw'r lleiaf o holl bethau. Ond mae'n dal i orfod gwirio pob un. ATHRO: Yeah. Felly, er enghraifft, gadewch i ni dim ond dweud rydym wedi rhestr, eisoes yn didoli, amrywiaeth 04:59. Mae'r ffordd y mathau Dethol yw bod mae'n mynd drwy, mae'n gwiriadau ddau hyn. Yna mae'n gwiriadau ddau hynny. Ac yna mae'n gwirio, ac mae'n gwirio. Mae'n cadw gwirio pob un ohonynt, heb ystyried ai peidio 'i' datrys mewn gwirionedd. Oherwydd dyna syml y ffordd y mae'r math gweithio. Ac felly y cwestiwn hwn yn fath o fel cwestiwn cysyniadol byddwn yn gofyn. Ble yn gyntaf, i chi gwybod beth Dewis math yw, ar y dde, i allu i ateb y cwestiwn. Mae'n rhaid i chi allu deall gysyniadol beth sy'n mynd ymlaen. Ac yna gallwch wneud cais ac yn meddwl, OK gadewch i ni jyst dychmygu sefyllfa waethaf. Maen nhw i gyd mewn trefn ddisgynnol. Sut y byddai hynny'n effeithio arno? Beth os yw'n esgynnol trefn? Os yw eisoes wedi datrys? Sut fyddai'n effeithio ar y runtimes? Ac yna Dewis fath, byddwch yn sylwi nad yw'n mewn gwirionedd yn fater. Oherwydd eich bod yn gwirio'r holl Gwerthoedd waeth beth yw beth sy'n digwydd. Ac felly pethau da i'w gofio. Pam mae rhai mathau yn wahanol i bobl eraill a'r ffordd orau a sefyllfaoedd gwaethaf posibl Byddai effeithio ar bob un ohonynt. Rydw i'n mynd i daro 'n sylweddol yn y mathau oherwydd bydd hynny ar y cwis. Yeah. IAWN. Mae chwe munud yn weddill. Gallaf gymryd tri munud o gwestiynau. Gallaf hefyd hongian o gwmpas ar gyfer fel 20 munud ar ôl adran os ydych am ofyn cwestiynau hefyd. A oes unrhyw un yn unig wedi 'n sylweddol byr cwestiynau neu faterion cysyniadol eu bod yn aneglur ynghylch ar hyn o bryd? Yeah? GYNULLEIDFA: Allwch chi sôn ychydig ychydig am weithredwyr bitwise? ATHRO: Yeah. Gweithredwyr Felly bitwise yn rhywbeth yr ydych yn ôl pob tebyg bosibl y bydd yn awyddus i roi ar eich taflen. Felly quickly-- Dydw i ddim eisiau i fynd gormod yn fanwl gan fod Harvard, yn eu hadolygiad sesiwn, gorchuddio ei fod yn eithaf da. Gweithredwr bitwise, mae ' pump ohonynt, dde? Mae hyn, sef x neu swyddogaeth, mae ampersand, sef y ac. Pipe, sef y neu'r. Ac yna mae gennych y ddwy gwahanol fathau o sifftiau. Os byddaf yn rhoi dau werthoedd, os ydych yn Yr wyf yn rhoi i chi, fel, un ac un. Beth fyddai'n gwerthuso i? Os byddaf yn rhoi i chi wir ac yn wir, yn wir? Beth am gywir neu'n anghywir? Dal yn wir, dde? Oherwydd mae 'na neu'n. Byddwn yn fwyaf tebygol o roi rhifau i chi. Felly cofiwch, un yn hafal i yn wir, sero hafal ffug. Ac efallai y byddwn yn rhoi pethau hyn i chi ac yn gofyn i chi ddweud wrthym beth fydd yn digwydd. Harvard yn cwmpasu o fewn y cyntaf 10 munud o'u sesiwn astudio mewn gwirionedd, yn dda iawn. Felly rydych guys am wneud yn siŵr eich bod yn edrych yn ôl ar hynny. GYNULLEIDFA: A yw pisa5 mynd i fod ar y cwis? ATHRO: Na Peidiwch â hyd yn oed yn edrych ar pisa5 ar hyn o bryd. Mae'n anodd. Nid yn unig yn hyd yn oed yn trafferthu edrych ar pisa5. Fodd bynnag, gan fod rhai awgrymiadau ac awgrymiadau, yr wyf yn yn awgrymu i chi ddechrau pisa5 cyn gynted ag y cwis wedi dod i ben. Hwn fydd y anoddaf wythnos, ond yna rydych guys Bydd yn cael ei basio ar y bryniau o gwyrdd a gŵn bach rholio, ac mae'n iawn. Mae'r dosbarth hwn yn cael arwyddocaol yn haws ar ôl y pumed pset. Oriau swyddfa: GYNULLEIDFA yw Dydd Sul, Dydd Llun? ATHRO: Yeah, felly bydd oriau swyddfa y dydd Sul i ddydd Llun ar gyfer yr pset. Oriau swyddfa heno yn y bôn Bydd yn unig fod adolygiad ar gyfer y cwis. Os oes unrhyw un eisiau dod i mewn a gofyn yr Asesiadau Trafnidiaeth cwestiwn, fe fyddwn ni yno. Byddaf yn cymryd efallai un yn fwy cwestiwn os oes gan unrhyw un gwestiwn? Yeah? GYNULLEIDFA: Pan fyddwch chi nodau diffinio, [Anghlywadwy] os byddwch yn dweud seren nôd ac yna nesaf, yn gwneud y cyfrifiadur yn awtomatig deall eich bod yn gan gyfeirio at pwyntydd arall? ATHRO: Na GYNULLEIDFA: Mae'n rhaid i chi relink ynddo [Anghlywadwy]? ATHRO: Felly y bôn y struct o nôd yw, cofiwch, mae fel i chi greu y nôd a yna mae gennych pwyntydd elwir nesaf. Mae pob ydych yn ei wneud yw cael strwythur yno. Mae'n rhaid i chi aseinio hynny bwyntydd rhywle. Felly, nid yw'r cyfrifiaduron yn yn gwybod beth mae'n ei wneud hyd yn hyn. Mae'n rhaid i chi mewn gwirionedd yn aseinio iddo pan rydych yn creu eich rhestr cysylltiedig. A dyna beth bennaf Bydd pset 5 ar. Felly nid oes pryderon am unrhyw un o hawl sydd bellach. GYNULLEIDFA: Felly nid oes angen i i ni canolbwyntio gormod ar y rhestr cyswllt, dim ond y cysyniad cyffredinol? ATHRO: Dim ond 'n bert lawer staciau, ciwiau, rhestrau cyswllt, coed, tablau hash. Dim ond yn gallu gwybod beth ydynt. Nid ydym yn mynd i ofyn ydych yn hoffi unrhyw beth penodol oherwydd nid ydym wedi gwneud mewn gwirionedd yn pset bod yn cwmpasu unrhyw o hynny eto. Felly, yn y ddau funud olaf cyn Wyf yn gosod i chi am ddim i ladd y cwis hwn. 'N bert lawer, fel, meddyliwch am sut bell ydych guys wedi dod yn y dosbarth hwn. Yr wyf yn cofio pan wythnos dau dosbarth hwn, mae rhai ohonoch chi treulio tair awr dŵr ysgrifennu. Pa mor hir y byddai'n ei gymryd i chi guys i ysgrifennu dŵr yn awr? 30 eiliad, efallai? Meddyliwch am faint chi guys wedi ei ddysgu. CS yn bwnc wirioneddol galed. Does dim amheuaeth o hynny. Mae'n anodd, dyna pam nad oes neb yn ei astudiaethau. Dim ond caled. Ac mae'n hollol iawn. Ac yr wyf yn falch iawn bod mae pawb wedi ei gwneud yn mor bell â hyn. Nid yw Psets yn hawdd. Maent yn cymryd llawer o amser. Rydych guys, byddaf byth yn gofyn i chi ysgrifennu y gêm o 15 neu Vigenere ar y pset. Nid oes angen i ddim ond freak gwybod am hynny. Yr unig beth rydym ni'n profi yma yw gwerthuso eich gwybodaeth cysyniadol, yn ogystal gan fod rhai o'ch sgiliau sylfaenol o godio. Mae'r prawf wedi ei gynllunio i fod yn wirioneddol heriol. Fel, mae'n cael ei gynllunio am beidio â chi gael 100. Mae hefyd wedi'i gynllunio er mwyn i chi yn ôl pob tebyg Nid yw yn gallu gorffen mewn 75 munud. A dyna gwbl iawn. Rwy'n fyfyriwr fy hun. Rwy'n gwybod, rwy'n casáu pan fyddaf yn cerdded allan o cwis yn debyg, cachu. Dyna oedd yn anodd iawn. Yn ôl pob tebyg beth sy'n mynd i happen-- ac mae hynny'n gwbl iawn, Rwy'n dweud wrthych guys ar hyn o bryd. Y dull ar y pethau hyn Nid yn uchel o gwbl. Ac i'r rhai ohonoch sydd wedi bod yn cael, fel, grwpiau o dri ar eich setiau problem, nid yw hynny'n golygu eich bod yn mynd i gael y cant 60 yn y dosbarth hwn. Os ydych yn cael 60% ar y cwis, nad yw'n yn golygu eich bod yn mynd i cael D yn y dosbarth hwn. Rydym yn gweld, yn enwedig I, am rhai ohonoch yn fy adran, Rwy'n gweld pa mor galed yr ydych guys i gyd yn gweithio. Ac yr wyf yn cadw golwg ar hynny. Byddwch guys yn iawn. Does dim cof sefydliadol hapusrwydd ar ddiwedd y semester. Gan fod yr holl blant Harvard yn dweud eu ffrindiau, oh, byddwch yn iawn. Nid oes unrhyw un yn dweud wrthych guys hynny yma. Felly, rhaid i mi ddweud wrthych guys hynny yma. Byddwch guys yn iawn. Rydw i mor falch o bob un ohonoch guys. Bydd y prawf yn anodd. Astudiwch ar ei gyfer, ac ar ôl hynny jyst daflu i ffwrdd. Byddwch yn barod i ddysgu pethau newydd. A bwyta Candy. Rydym wedi cael llawer o candy. Cael noson dda o gwsg. Peidiwch â chysgu, oherwydd Id hynny fod yn wirioneddol ddrwg. CS llawer o resymeg. Os nad ydych yn cysgu, ni allwch weithredu, ac ni all eich ymennydd weithredu. A byddaf yma ar gyfer y 20 nesaf cofnodion os oes unrhyw un eisiau i hongian o gwmpas. Rydych guys yn mynd i ladd. Pob lwc.