Jason Hirschhorn: Fáilte le seachtain trí, gach duine. Bhfuil gnóthach ach spreagúil againn alt romhainn. Mar sin, an chéad, toisc go bhfuil déanta againn roinnt Headway leis an gcúrsa ach táimid fós tá a lán de na foghlama ar chlé a dhéanamh, tá mé ag dul a thaispeáint duit guys roinnt acmhainní Ba chóir a mheastar a bheith thar a bheith cabhrach mar atá tú cur chuige ní amháin do Leagann an fhadhb, ach freisin díolama go léir an t-ábhar a thabhairt dúinn guys i duit léachtaí agus shorts agus alt. Ansin, táimid ag dul a chaitheamh ar an chéad 20 go 25 nóiméad alt ag dul thar GDB, ar féidir leat nó nach féidir a bheith úsáid ag an bpointe seo, ach tá sé Beidh an uirlis thar a bheith cabhrach cabhrú leat dífhabhtaigh do na cláir. Is féidir a lán de tú a bheith in úsáid printf sa lár do chláir chun an figiúr amach cad cothrom athróg. Is GDB níos fearr fós ná printf agus Ní scriú suas do chód mar gheall tú sé ar siúl ar comhad inrite. Mar sin, beidh muid ag dul thar an 10 is cabhrach orduithe is gá duit le haghaidh GDB, agus táimid dul chun dul ar fheidhmiú chéile ionas i fhadhb leagtha trí agus ina dhiaidh, tú Is féidir úsáid a bhaint as GDB chun cabhrú le dífhabhtaigh do chláir. Agus ar deireadh, táimid ag dul chun dul thar roinnt sórtáil agus cuardach halgartaim gur chonaic tú i léacht, agus táimid ag dul go dtí ndáiríre cód, ní hamháin pseudocode, ach cód dénártha cuardaigh, saghas mboilgeog, agus sórtáil a roghnú. Mar sin, an chéad, ba mhaith liom dul thar na hacmhainní. Is é seo an liosta fada, agus tá sé cló níos lú toisc go raibh mé go leor a oiriúnach ar anseo. Ach beidh na cabhrú ach tú, arís, leis na tacair bhfadhb agus eolas díleá fhoghlaim tú, ach cinnte, a thagann am tráth na gceist, beidh na a bheith thar a bheith cabhrach. Mar sin, an chéad, tugann an léacht. Má théann tú chuig cs50.net/lectures agus scrollaigh go seachtain ar leith agus lá, Feicfidh tú a fheiceáil go bhfuil nótaí do gach léacht, nach bhfuil ach athscríbhinn, ach leagan eagraithe cad a bhí clúdaithe i léacht leis an gcód snippets agus tidbits cabhrach eile. Molaim go mór ag dul thar na. Agus ansin chomh maith, níl cód foinse ar fáil ó gach léacht. Agus arís, beidh na sleamhnáin a bheith chomh maith ar fáil ar líne ag cs50.net/sections an tráthnóna seo. Mar sin, tá an dara an shorts gach seachtain topaicí a chlúdach, de ghnáth 5 go dtí 15 nóiméad ar fhad. Agus beidh na thabhairt duit súil go dtosnódh a primer mór ar ábhair éagsúla. Tríú - agus tá sé seo an branda nua Is study.cs50.net - bliana. Mura bhfuil tú sheiceáil sé amach, liom mholadh go mór go ndéanann tú amhlaidh. A gheobhaidh tú a phiocadh ábhar. Tá mórán de na topaicí ar ann. Mar sin, mar shampla, roghnaigh tú Feidhmeanna. Tugann sé tú roinnt sleamhnáin agus nótaí ar fheidhmeanna. Glacfar iad iarbhír na sleamhnáin a TFS a spreagadh chun úsáid a bhaint as le linn ár cur i láthair in alt. Tá leideanna agus cleasanna chun déileáil ann chomh maith le feidhmeanna, agus níl fadhbanna cleachtas a chabhróidh tú ag obair le feidhmeanna. Muid a thabhairt duit freisin ar naisc chuig an gearr ar feidhmeanna agus na hamanna a feidhmeanna tar éis teacht suas i léacht. Mar sin study.cs50.net, branda nua seo bliana, acmhainn iontach. Next, tá mé fear, a bhfuil an lámhleabhar ordú gur féidir leat a reáchtáil ag an n-orduithe. Mar sin, má tá aon cheist agat faoi ordú, mar shampla, Rand, a bhfuil muid bhíonn an tseachtain seo caite le linn alt agus tá tú a bhíonn dócha i d'fhadhb a leagtar tú ag dul tríd an Cód ghiniúint, ach má chlóscríobhann tú fear Rand, beidh tú a fháil ar an leathanach a insíonn tú go léir faoi Rand. Tugann sé tú cad a thógann sé, ar an paraiméadair a thógann sé, chomh maith le ar ais cineál agus cur síos gairid na feidhme sin. Mar sin, seiceáil amach Rand. Is féidir é a bheith beagán wordy agus mearbhall, mar sin uaireanta braithim go ach Googling cad ba mhaith liom a fháil amach go bhfuil an bealach is fearr chun teacht ar an freagra. Mar sin, a chleachtadh le Google. Faigh go maith ag Google. Beidh sé bheith do chara is fearr. Chomh maith le Google, má tá tú nach féidir a aimsiú ar Google, cs50.net/discuss, tá sé an fóram díospóireachta. Tá seans má tá ceist agat, ceann amháin do 700 + piaraí tá chomh maith go gceist agus d'fhéadfadh a bheith d'iarr sé i cheana féin ar an phlé fóraim agus d'fhreagair sé. Mar sin, má tá ceist coiteann nó tú tá ceist a cheapann tú go bhfuil tú b'fhéidir d'fhéadfadh daoine eile a bheith ar siúl i, seiceáil amach cs50.net/discuss. Ar deireadh, an dá deireanach, más mian leat a labhairt le fíor bheith ag an duine, oifig uair an chloig ó Luan go hAoine. Tá uaireanta oifige ar líne ann freisin do mhic léinn a leathnú. Agus anuas ach is cinnte nach ar a laghad, dom, pointe exclamation. Tá tú gach mo chuid faisnéise teagmhála. Má theastaíonn uait rud ar bith, le do thoil riamh bíodh aon leisce ort teagmháil a dhéanamh liom. I gcónaí bhraitheann saor chun é sin a dhéanamh. Is beag de tú leis dom ar Gchat, ionas go bhfuil curtha díomá, ach tá súil againn go mbainfidh a athrú idir seo agus alt chugainn. Ceisteanna ar bith go dtí seo ar na hacmhainní? Breataine. Ar deireadh, breiseán eile aiseolas, sayat.me/cs50. Is féidir leat a thabhairt dom aiseolas gan ainm ar an gcaoi a bhfuil mé ag déanamh. Go raibh i ndáiríre cabhrach an tseachtain seo caite. Fuair ​​mé cúpla tuairimí ó tú guys ceart tar éis alt, móide ó mic léinn eile a bhreathnaigh sé i rith na seachtaine, agus é bhí thar a bheith cabhrach. Tá mé ag dul chun iarracht a dhéanamh agus a theorannú mo úsáid an focal "milis," ach beidh mé a thaispeáint mo díograis agus excitement ar bhealaí eile. Ach bhí bhreise eile feedbacks substainteacha, araon pluses agus deilt. Mar sin, le do thoil, a thabhairt liom tú guys aiseolas ar do Leagann an bhfadhb. Bhraitheann saor chun aiseolas a thabhairt dom ar mo chuid múinteoireachta. Tá mé anseo ar do shon guys. Breataine. Is é sin go léir a bhfuil mé do an chéad chuid. An bhfuil aon duine a bhfuil aon ceisteanna go dtí seo? Agus tá mé nóta don an t-ionad rialaithe. Síneadh na mic léinn a bheith messaged me ag rá nach bhfuil siad ag aon fuaime, ach go bhfuil amach as mo chumhacht a shocrú. Mar sin tá súil againn, faigheann go réiteach go luath. Má tá tú ag breathnú ar líne, Hi, ach ní féidir leat éisteacht liom. Mar sin, an chéad, táimid ag dul chun dul tríd GDB. GDB, mar a hinted mé ag níos luaithe, Is uirlis debugging i bhfad níos fearr ná mar a printf. Mar sin, chun tús a chur le GDB, tú guys, má mian leat a oscailt suas do fearas agus a chur ar an gcomhad gur Ríomhphost mé a thabhairt duit níos luaithe - Beidh an comhad seo a bheith chomh maith ar fáil ar líne i beagán - agus a reáchtáil GDB. / an t-ainm an chomhaid. Gcéad dul síos, ar ndóigh, caithfidh tú a chur le chéile comhad mar gheall ar oibreacha GDB ach amháin ar chomhaid inrite. Ach más mian leat riamh chun tús a chur GDB, an chéad rud a dhéanann tú, ritheann tú GDB. / Caesar. Mar sin, go bhfuil an t-ainm an chláir táimid dul chun dul leis sé ceart anois. Mar sin, tá mé ag dul a scríobh a dhéanamh Caesar, a Beidh a thabhairt dom comhad inrite anseo aibhsithe i glas. Agus ansin tá mé ag dul a reáchtáil GDB. / Cesar. Agus tá tú ag dul. Féach tú againn roinnt téacs ag insint dom mar gheall ar an leagan de GDB, a thabhairt dom roinnt eolais bharántas, agus ansin dúinn Tá an pras OTI, a bhreathnaíonn saghas ar nós ár líne ordú go pras, ach a fheiceann tú go bhfuil sé ar oscailt paren, GDB, paren dhúnadh. Sula leanaimid ar aghaidh agus dífhabhtaigh an comhad seo a sheol mé chuig tú go léir, a ligean ar breathnú ar roinnt orduithe úsáideach ionas go mbeidh muid le tuiscint an méid a bhfuil muid ag dul a chlúdach. Tá na orduithe atá liostaithe anseo sa ord ina mé iad a úsáid i gcoitinne. Mar sin, tús mé mo chlár ag rith GBD. / Ainm an chláir, sa chás seo, Caesar. Agus ansin an chéad rud a dhéanfaidh mé 99.9% an t-am atá i gceist sos cineál. Sin Leagann pointe sos ag is mó. Go bunúsach, cad a bhfuil tú ag déanamh ann Tá an clár ag dul chun stop a chur ag is mó ionas gur féidir leat tosú scrúdú a dhéanamh air ag teacht le líne, seachas ag rith go léir an bhealach a dhéanamh tríd. Is féidir leat a bhriseadh ag pointí éagsúla i do chód, ach is mó de ghnáth áit mhaith le tosú. Is é an ordú seo chugainn ar siúl agam reáchtáil. Sin a thosaíonn an clár ar siúl, agus más gá duit a chur isteach an líne ordaithe argóintí, ritheann tú é sin ordú. Rith leis na hargóintí. Mar sin, ós rud é go bhfuil muid ag dul thar leagan C, a bhfuil an clár tú guys Scríobh do pset dhá - an ceann seo, ar ndóigh, tá roinnt bugs ann go súil againn go mbainfidh muid ag teacht - táimid ag dul a reáchtáil a reáchtáil le roinnt ordú argóintí mar gheall ar Caesar, mar atá a fhios agat guys in aghaidh an bhfadhb leagtar spec thógann, roinnt argóintí. An chéad chúpla orduithe, an chéad cheann eile tá sé ar cheann ar a dtugtar i ndáiríre amach romhainn. Bíonn Sin ceann agat, líne ar líne trí do chlár. Mar sin, ag bualadh n ansin Iontráil thógann tú go dtí an chéad líne eile, forghníomhaitheach an líne roimhe seo. Céim thógann ní amháin leat chun an chéad líne eile, ach tá sé thógann tú taobh istigh feidhmeanna. Mar sin, má tá tú ag scríobh feidhm i do chód nó más mian leat chun iniúchadh a dhéanamh a liom, mar shampla, is féidir leat s hit, agus seachas dul go dtí an chéad líne eile de an comhad a bhfuil tú ag dul tríd an ceart anois, beidh tú céim iarbhír i fheidhm seo agus féach a cód. Liosta léiríonn tú, i an-éasca le húsáid formáid, an 10 nó mar sin línte timpeall i gcás ina bhfuil tú faoi láthair i do chód ionas gur féidir leat a fheiceáil i ndáiríre an comhad seachas a bheith a mhalartú ar ais agus amach idir tuairimí éagsúla. Tá Priontáil cosúil le printf, mar a thugann a ainm. Go léiríonn tú cad is ionann athróg. Tá muintir na háite Eolas ndáiríre cabhrach. Is é seo an leagan speisialta den cló. Muintir na háite Eolas léiríonn tú gach ceann de na áitiúil athróg priontaí, iad go léir amach ar do shon atá ar fáil faoi láthair. Mar sin, mé go ginearálta, seachas a bheith ag a phriontáil amach na ceithre athróg go bhfuil mé fiosrach faoi an bhfuil mé i do lúb, do Mar shampla, scríobh mé díreach tar muintir na háite info, agus beidh sé a thaispeáint dom cad mo mé gcuntar is ionann, chomh maith leis an sraith go bhfuil mé ag obair ar comhionann. Mar fhocal scoir, leanúint ar aghaidh. Clóscríobh sos stadanna tú ag an bpointe sos. Is féidir leat siúl tríd an líne ag ar aon dul le seo chugainn agus céim. Ritheann an clár Leanúint ar aghaidh le do romhainn bhriseadh pointe nó go dtí go críochnaithe má tá pointí sos níos mó. Díchumasaigh Cuireann phointe sos má tá tú chinn an sos ag is mó a bhí mí-oiriúnach, ba mhaith leat a leag sé áit éigin eile. Agus ar deireadh q, scor faigheann, as GDB. Mar sin, an clár seo,. / Caesar, táimid ag dul chun breathnú tríd ceart anois agus táimid ag dul a úsáid GDB a aimsiú an bugs sa chlár seo. Rith mé an clár seo le níos luaithe Seiceáil 50, agus fuair mé frown amháin. Gach rud a bhí sé, i dtoll a chéile é, é a ritheadh ​​a lán de na tástálacha, ach le haghaidh ar chúis éigin, ní raibh sé pas a fháil sa cúigiú tástála, ag casadh BARFOO, gach caipíní, i R-D-U-I-R-R, na caipíní, ag baint úsáide as trí cinn mar eochair. Fuair ​​mé gar go leor. Fuair ​​mé amach trí litir amháin. Mar sin, níl roinnt botún beag i anseo. Tá mé d'fhéach sé trí mo cód. Ní raibh mé in ann an figiúr sé amach. Súil go dtosnódh, is féidir leat guys cabhrú liom figiúr amach cad é an fabht. Mar sin, go bhfuil an earráid táimid cuardach do. A ligean ar bogadh isteach GDB. Arís, tá mé á reáchtáil GDB. / Caesar, mar sin anois tá muid i GDB. Agus cad é an chéad rud ba chóir dom a dhéanamh? Tá mé isteach díreach GDB. Somebody a thabhairt dom dea- ordú a chur isteach. MAC LÉINN: Briseadh mó. Jason Hirschhorn: Briseadh mó. Iontach. A ligean ar cineál sin isteach Is féidir leat féachaint guys suas anseo nó leanúint chomh maith ar do ríomhairí. Briseadh mó, agus rachaidh tú a fheiceáil Bunaíodh pointe sos ag - tugann sé dom roinnt seoladh cuimhne aisteach, agus tugann sé chomh maith dom an uimhir líne. Má bhí mé chun breathnú siar ar comhad seo, Ba mhaith liom a thuiscint go príomh a tharla ar líne 21. Cad ba chóir dom a reáchtáil seo chugainn? An bhfuil mo chlár ag rith? Uimh Mar sin, cad ba chóir dom a reáchtáil seo chugainn? MAC LÉINN: Rith. Jason Hirschhorn: Rith. Ar chóir a reáchtáil mé díreach tar éis a reáchtáil, nó ba chóir Liom a chur ar roinnt rudaí eile i? MAC LÉINN: Rith leis an argóint. Jason Hirschhorn: Rith le na hargóintí-orduithe. Agus ós rud é tá mé ag debugging ar leith an- cás, ba chóir dom dul isteach go in argóint. Mar sin, beidh mé a dhéanamh ar siúl trí cinn, atá, arís, an t-aschur a fuair mé ó Seiceáil 50. Clár tosú. Téimid trí cúpla línte. Feicfidh tú a fheiceáil anois go bhfuil muid ar líne 21. Conas a fhios agam go bhfuil muid ar líne 21? Toisc má fhéachann tú ar an taobh clé de mo fhuinneog críochfort, tá a deir sé líne 21. Agus tugann sin misneach, i ndáiríre, an Cód atá ag líne 21. Mar sin, mé níos luaithe misspoke. Ní Is é Príomh iarbhír ag líne 21. Is é Príomh cúpla línte os cionn 21. Ach ag líne 21, go nuair a bhíonn muid ag briseadh. Tá an líne de chód nach mbeidh forghníomhaithe fós. Sin tábhachtach. Ní Tá an líne a fheiceann tú forghníomhaithe fós. Sin an chéad líne eile de chód tá tú ar tí é a fhorghníomhú. Mar sin, an chéad líne eile, mar a bhfuil tú guys eolas is dócha leis é, an coinníoll seiceáil a fheiceáil má tá mé isteach argóint ar an líne ordaithe. Agus a liom, cad é an dara chuid den déanamh? Cad é a i? MAC LÉINN: Athrú sé le slánuimhir. Jason Hirschhorn: Tá brón orm? MAC LÉINN: Tá sé ag athrú an argóint go slánuimhir. Jason Hirschhorn: Mar sin a athraíonn i arg v1 ó teaghrán go dtí slánuimhir. Agus ansin cad a sheiceáil? MAC LÉINN: Má tá an dara argóint ar an líne ordaithe, leataobh as a reáchtáil ar an gclár. Jason Hirschhorn: Agus cad an dara leath den Slonn Boole seiceáil? An chuid seo thar anseo, ar a i? MAC LÉINN: Má tá sé diúltach. Jason Hirschhorn: Déanamh cinnte cad é? MAC LÉINN: Déanamh cinnte go bhfuil sé Tá, go deimhin, dearfach. Jason Hirschhorn: Go díreach. Tá sé seo seiceáil a fheiceáil má tá sé diúltach, agus má tá sé diúltach, mé tá mothú an fhéadfadh chéad líne eile a yelling dom ag an úsáideoir. Mar sin, a ligean ar bhuail deireadh a fhorghníomhú líne seo. Ní chuirimid a fheiceáil go bhfuil líne go bhfuil tú guys b'fhéidir ag súil a fheiceáil ar yelling ag an úsáideora agus ansin filleadh, mar gheall ar Ní raibh an líne seo a fhorghníomhú. Tháinig mé 3. Mar sin, ní raibh mé, i ndáiríre, dul isteach dhá ordú argóintí líne, agus tá 3 níos mó ná náid. Mar sin, chonaic muid an líne sin, chun báis againn, ach ní raibh muid ag céim taobh istigh den más riocht. Mar sin anois, in aice, féach mé mé ag leagan is ionann eochair slánuimhir a go Arg liom v1. Mar sin, is é sin a chruthú dom eochair athraitheach. Mar sin, má phriontáil mé amach eochair ceart anois, mar gheall ar gur féidir leat a fheiceáil ar an taobh istigh den luach athróg, ionann eochair 47. Sin aisteach, ach ar ndóigh, go toisc nach bhfuil mé fhorghníomhú an líne go fóill. Mar sin anois má bhuail mé n, a fhorghníomhú go líne, agus a dhéanamh eochair a phriontáil, beidh eochair cothrom le 3, a bhfuil cad a bheith ag súil againn é a chomhionann. Mar sin, arís, i GDB, an líne tú féach nach bhfuil tú chun báis go fóill. Tá tú a bhuail n nó í nó líon na n-orduithe eile a iarbhír fhorghníomhú an líne sin. Eochair Priontáil. Eochair ag 3. Go dtí seo, chomh maith. Tá Teaghrán gnáth-théacs. A ligean ar fhorghníomhú an líne sin. Tá mé ag dul teaghrán ó úsáideoirí. A ligean ar a fheiceáil i mo Seiceáil 50, mé dul isteach BARFOO gach caipíní, mar sin go bhfuil an méid beidh mé dul isteach. Má chuirtear i gcló agam anois gnáth-théacs. Feicfidh tú a fheiceáil sé cothrom le teaghrán. Tugann sé dom roinnt heicsidheachúlach aisteach eile líon, ach a dhéanann sé i Go deimhin rá go bhfuil mo teaghrán BARFOO. Má bhí mé a fheiceáil cad a cothrom eochair ag an bpointe seo, conas a d'fhéadfadh liom a sheiceáil eochair? MAC LÉINN: eochair Priontáil. Jason Hirschhorn: eochair Priontáil, go díreach. Agus i ndáiríre, níl a aicearra. Má fhaigheann tú tuirseach de clóscríobh cló, Is féidir leat ach cineál lch. Mar sin, ní eochair p an rud céanna cruinn. Agus arís, féach mé sé cothrom le 3. Má bhí mé a fháil amach cad araon eochair agus BARFOO cothrom ag an am céanna ach bhí mé tuirseach de clóscríobh gach ceann amháin ina n-aonar amach, mé D'fhéadfadh cineál muintir na háite info. A thugann dom ionann eochair 3. Ionann téacs Plain BARFOO. Tugann sé dom chomh maith ar na dhá rud aisteach ag an mbarr, an athróg i agus an n athraitheach. Glacfar iad atá ann i ndáiríre i mo chlár is mó. Ní mór dúinn a bhíonn orthu go fóill, ach mar réamhamharc, iad siúd ann i mo haghaidh lúb. Mar sin, ceart anois, comhionann siad roinnt aisteach uimhreacha toisc nach raibh siad initialized go fóill, ach tá siad a dhéanamh ann fós i gcuimhne, mar sin tá siad leagtha díreach le roinnt luach truflais. Ach is féidir linn a fheiceáil eochair i plain téacs ceart ann. Mar sin, tá mé ag dul a fhorghníomhú líne seo, líne 34, an lúb do. Táimid ag dul chun léim isteach sa do lúb ag bualadh n. Agus tá muid taobh istigh an lúb do. Táimid ag ár gcéad seiceáil. Agus arís, ba chóir na saghas breathnú eolas a thabhairt duit de bharr go raibh sé seo ina Clár Caesar a bhí scríofa, ach arís, tá éigin de bug. Agus anois má dhéanann mé muintir na háite info, mar go bhfuil mé taobh istigh gur le haghaidh lúb, beidh tú a fheiceáil gur ionann mé náid, mar atá muid ag súil. Sin an méid a leag muid é agus initialized sé a íoc, a sa do lúb. n cothrom 6. Sin a dhéanann ciall freisin mar gheall ar a leag muid sé leis an strlen na gnáth-théacs. Mar sin, is maith liom a dhéanamh muintir na háite info nó i gcló go minic athróg a dhéanamh cinnte go Tá gach rud i gcónaí cad Mé ag súil é a comhionann. Sa chás seo, tá gach rud cad a bheith ag súil liom é a comhionann. Sin a ligean le tús a chur ag gluaiseacht tríd an seo le haghaidh lúb. Tá an líne Tá mé ar líne 36, má plain Tá an téacs i níos mó ná agus plain Tá an téacs i níos lú ná nó cothrom le z. Tá a fhios agam nach bhfuil mo fhadhb le mo chéad litir, tá sé leis an dara litir. Má fhéachaimid siar ar Seiceáil 50, téann B go Roinn E fíneáil. Tá mé ag cur an A agus é a fhágáil mar A, nach bhfuil athrú sé go D. Mar sin, rud éigin cearr leis an an dara litir. Mar sin, tá mé ag dul chun bogadh ann sa dara. Ach má raibh mé ag iarraidh a sheiceáil cad plain téacs cothrom mé i áirithe seo cás, I mo thuairimse, ba chóir é a cad é? Cad ba chóir gnáth-théacs comhionann mé sa an chéad bhabhta tríd an lúb do? MAC LÉINN: nialais? Jason Hirschhorn: gnáth-théacs de mé? Mar sin, ba chóir go mbeadh caipiteal B. mé, ar ndóigh, ionann náid, ach gnáth-théacs ionann lúibín lúibín náid dúnta B mar gheall ar teaghráin, mar a chonaic muid an tseachtain seo caite, Tá eagar, mar sin táimid ag dul ar an chéad charachtar ó sin. Mar sin, arís, má clóite mé amach gnáth-théacs de Mé, mé a dhéanamh, i ndáiríre, a fháil ar an carachtar B. Agus sin néata, ceart? Ní dóigh liom go bhfuil gnáth-théacs I. iarbhír Ní Sin ceann de na hathróga leag mé nó initialized, ach is féidir leat a phriontáil amach a lán iomlán de rudaí más mian leat a. Ach a ligean ar bogadh tríd. Má tá gnáth-théacs mé níos mó ná A agus Is gnáth-théacs mé níos lú ná nó cothrom le Z, is é sin go soiléir fíor toisc go bhfuil muid caipitil B. Tá mé ag dul a reáchtáil roinnt ordú ar sé. Chonaic muid go math an tseachtain seo caite, mar sin beidh muid ghlacadh chun a dheonaítear go n-oibríonn sé ceart de réir Seiceáil 50. Tá na braces gcuach, an chéad cheann léirigh go raibh mé ag fágáil an dá coinníoll, léirigh an dara ceann go bhfuil mé ag teacht amach as an lúb do. Agus mar sin anois nuair a bhuail mé Next, beidh orainn a fheiceáil tá muid ar ais ar an lúb do arís. Táimid ag dul tríd an do lúb arís. A ligean ar chéim iarbhír isteach sa dara atriall den maidir le lúb agus cineál muintir na háite info. Mar sin, tá muid sa dara atriall ar ár le haghaidh lúb. Is ionann mé 1, a bhfuil súil againn. N ionann 6, a bhfuil súil againn. Eochair ionann 3, a bhfuil súil againn. Agus gnáth-théacs, beidh tú a fheiceáil is ionann, EARFOO anois, ní BARFOO níos mó mar gheall in ár leagan roimhe seo, bhí an B athrú le E. caipitil sin tá muid ar tí a bhíonn an fhadhb, mar sin seo is é sin nuair a bhíonn muid ag dul go dtí Léim isteach sa debugging. Ach an bhfuil aon cheist aon duine faoi ​​na rudaí atá déanta againn go dtí seo? Iontach. Mar sin, tá muid ar tí é a fhorghníomhú seo más rud é coinníoll, lúibín gnáth-théacs dhún mé lúibín níos mó ná A agus gnáth-théacs mé níos lú ná nó cothrom le Z. Ach sula Téim isteach, mar is é seo nuair a Tá a fhios agam go bhfuil mo earráid, ba mhaith liom a chur in iúl as gnáth-théacs I. Mar sin a ligean ar chur phriontáil amach. Déanann sé cothrom leis an carachtar A, ionas go is cosúil go dtí seo, tá gach maith agus go maith. Mar sin, tá mé ag súil líne seo in aghaidh mo loighic, Ba chóir go mbeadh an líne seo a bheith fíor. Tá sé ina litir caipitil. Ach má bhuail mé n, a dhéanann muid a thuiscint go bhfuil an líne, i ndáiríre, ní raibh a fhorghníomhú. Léim mé síos go dtí an eile más rud é. Cén fáth go raibh a tharlaíonn? MAC LÉINN: Toisc go bhfuil tú do riocht de gnáth-théacs é níos mó ná A, ní comhionann nó níos mó ná. Jason Hirschhorn: Mar sin, bhí mé mo gnáth-théacs Tá mé níos mó ná A, ní mó ná nó cothrom le. Mar sin, go soiléir, ní raibh an caipiteal a tús seo más rud é an coinníoll, agus rinne muid Ní dlús a chur isteach air, agus rinne muid nach bhfuil an t-athrú is gá. Mar sin, go bhfuil sé, i ndáiríre. Figured mé amach mo bug. Raibh mé in ann dul ar ais i mo comhad foinse, athrú air, agus a nuashonrú agus reáchtáil Seiceáil 50 arís. Ach beidh orainn a fheiceáil, ach le haghaidh oideolaíocht ar ar mhaithe le, má choinneáil mé ag dul. An eile Ní má fhorghníomhú ach an oiread, ach cad ina ionad sin is ionann é an t-ordú nach bhfuil athrú. Mar sin, nach bhfuil sé athrú ar chor ar bith, agus má phriontáil gnáth-théacs anseo, beidh orainn a fheiceáil ag dul trí nach raibh do lúb, i ndáiríre, athrú go dara carachtar ar chor ar bith. Tá sé fós ina caipiteal A. Mar sin, arís, gan dífhabhtú muid ár earráid. Thuig muid go raibh roinnt loighic ar iarraidh. Agus gan dífhabhtú muid é roimh an am roimh forghníomhaitheach iarbhír an líne sin, ach go mbeadh tú faoi deara go raibh againn ach bhuail Aghaidh agus léim leis an eile más rud é, ciallaíonn sé sin go má coinníoll Ní raibh fíor. Táimid ní raibh, i ndáiríre, a fháil an toradh a bhfuil súil againn. Mar sin, ansin d'fhéadfadh muid a bheith spreag, bhí againn nach amhlaidh astute, chun breathnú ar más rud é go riocht agus seiceáil más rud é, i ndáiríre, Ba chóir go mbeadh ár n-riocht meastóireacht fíor sa chomhthéacs reatha. Sin go léir le haghaidh debugging an gclár seo. An bhfuil aon cheist aon duine? Cad ordú gur féidir liom a bhuail a scor GDB? C. Agus ansin beidh mé a spreag, éirí as an tobac ar aon nós? Is ea nó gan aon. Feicfidh mé bhuail yes, agus beidh mé a scor GDB. Mar sin, bhí go primer mear a GDB. I ndáiríre, i scéal fíor, Rinne mé seo ag uaireanta oifige. GDBed mé an clár seo cruinn ag uaireanta oifige le mac léinn. Agus má théann muid ar ais go dtí an orduithe chonaic muid roimh, a úsáid le linn sos is mó, an chéad rud a rinne muid. Úsáid againn a reáchtáil le hargóintí-orduithe, an dara rud a rinne muid. Úsáid againn in aice a lán a bhogadh dúinn trí línte. Agus arís, an leagan gearr ar in aice n. Sin sna lúibíní i liath ar an sleamhnán. Ní raibh muid úsáid chéim, ach ní raibh muid gá gá chun an gcás seo. Ach d'fhéadfadh muid é a úsáid i beagán níos déanaí ar lá atá inniu ann má táimid ag debugging, do Mar shampla, cuardaigh dénártha dénártha nuair Tá cuardaigh ar a dtugtar i leith fheidhm ach níl roinnt earráid leis. Táimid ag dul a iarraidh a dlús a chur isteach an glaoch chun cuardach dhénártha agus dífhabhtaithe i ndáiríre é. Liosta ní raibh muid úsáid ceachtar toisc go raibh muid tuiscint mhaith ar ár cód, ach má mé raibh ag iarraidh a fháil tuiscint ar cad Cód agam Bhí thart, d'fhéadfadh liom a úsáid ach liosta. Priontáil úsáid againn, muintir na háite eolas a d'úsáid muid. Leanúint ar aghaidh ní raibh muid gá a úsáid sa cás, ní raibh gá dúinn a úsáid dhíchumasú, ach ní raibh muid úsáid éirí as an tobac. Arís, na 10 orduithe, iad a chleachtadh. Má thuigeann tú na 10 orduithe, Ba chóir duit a shocrú le haghaidh dífhabhtaithe aon eisiúint le GDB. Mar sin, tá muid ar tí dul ar aghaidh, arís, go dtí an crux alt lá atá inniu ann, ag dul thar na sórtáil agus cuardach halgartaim. Roimh dhéanann muid amhlaidh, arís, aon cheist, tuairimí, imní do GDB? Mar sin, tá gach duine ag dul a úsáid GDB seachas printf? Mar sin, gach duine, ar mhaithe le go suthain, an Tá gach duine nodding a gceart ceann anois, mar sin beidh mé a fheiceann tú ag uaireanta oifige agus beidh na TFS a fheiceann tú agus beidh siad ag rá, a thaispeáint dom conas é a úsáid GDB, agus beidh tú in ann a thaispeáint dóibh, ceart? Cineál ar? B'fhéidir tá súil againn. Cool. Mar sin, táimid ag dul chun bogadh isteach sórtáil agus cuardach. Feicfidh tú a fheiceáil go bhfuil mé liosta in eagar cheana dúinn, ach nach bhfuil ag dul a bheith i gcónaí an cás. Mar sin, i an fhadhb tsonraíocht atá leagtha síos do fhadhb leagtha trí, tá tú shorts gur féidir leat féachaint ar, agus tá sé i ndáiríre Iarrann tú chun féachaint ar na shorts. Chomh maith leis sin i léacht an tseachtain seo caite, chuaigh muid thar a lán de na halgartaim, mar sin tá mé nach bhfuil ag dul am a chaitheamh sa rang ag dul os cionn na halgartaim arís nó líníocht pictiúir do conas na halgartaim oibre. Arís, an fhaisnéis sin is féidir leat a ath-féachaint ar léacht, nó faisnéis a Tá a gabhadh outstandingly ar an shorts do na cuardaigh, gach ceann de na atá ar fáil ag cs50.net. Mar sin, ina ionad sin, cad tá muid ag dul a dhéanamh ar na cláir a scríobh. Tá tuiscint, múnla mheabhrach, ar an gcaoi oibríonn siad, agus mar sin cad tá muid ag dul a dhéanamh ná cód an iad do fíor. Táimid ag dul a dul go múnla mheabhrach, go bhfuil pictiúr, más maith leat, isteach sa Cód iarbhír. Agus má bhí tú beagán mearbhall nó soineanta ar an tsamhail mheabhrach, go hiomlán thuiscint. Níl muid ag dul iarbhír a léim go dtí cód straightaway. Mar sin, cé go iarrann an pras sa sleamhnán tú chun cód dénártha cuardaigh, agus i ndáiríre, leagan atriallach de cuardaigh dénártha, an chéad rud mé i ndáiríre ba mhaith leat a dhéanamh ná a scríobh roinnt pseudocode. Mar sin, tá tú an tsamhail intinne ar conas a oibríonn cuardaigh dénártha. Tóg amach bileog pháipéir má tá tú ceann ar fáil go héasca, nó a oscailt suas eagarthóir téacs, agus ba mhaith liom gach duine a scríobh. Tóg ceithre nóiméad a scríobh ar an pseudocode ar chuardach dénártha. Arís, machnamh a dhéanamh ar an múnla mheabhrach. Beidh mé ag teacht ar fud má tá ceisteanna agat agus is féidir linn a tharraingt ar an pictiúr amach. Ach ar dtús, sula dtosaíonn againn cláir, Ba mhaith liom buíochas a scríobh an pseudocode ar chuardach dénártha mar sin nuair a muid Léim i, ní mór dúinn roinnt treoir mar nuair ba chóir dúinn a ceann. MAC LÉINN: An féidir linn glacadh leis an sraith de luachanna a fháil againn go bhfuil curtha in eagar cheana féin? Jason Hirschhorn: Mar sin, le haghaidh cuardaigh dénártha a bheith ag obair - ceist den scoth - tú a ghlacadh i sórtáilte sraith de luachanna. Mar sin, glacadh leis go mbeidh sé ag obair. Beidh muid ag dul ar ais go dtí an sleamhnán. Feicfidh tú a fheiceáil i corcra an fheidhm Tá dearbhú bool slánuimhir binary_search luach, luachanna slánuimhir, slánuimhir n. Ba chóir go mbeadh sé seo breathnú ar an eolas má tá tú Chuaigh nó gotten cheana féin do lámha salach leis an leagan bhfadhb. Ach go do bhfógra feidhme. Arís, níor chóir a bheith buartha faoi go bhfuil i bhfad ag an nóiméad. Cad ba mhaith liom leat i ndáiríre a dhéanamh ná a ghlacadh ceithre nóiméad chun dénártha pseudocode cuardaigh, agus ansin beidh muid ag dul níos mó ná sin mar ghrúpa. Agus beidh mé ag teacht timpeall. Má tá ceisteanna agat, dar saor in aisce a ardú do lámh. Cén fáth nach bhfuil tú dhá nóiméad níos mó a chríochnú suas an pseudocode? Tá a fhios agam go bhfuil cuma ridiculous go táimid ag caitheamh an oiread sin ama ar rud nach bhfuil go fiú i ndáiríre i C, ach go háirithe do na níos mó halgartaim dúshlánach agus fadhb Leagann go bhfuil muid a figiúr amach, ag tosú i pseudocode nach buartha mar gheall ar an error, ach buartha faoi an loighic é, thar a bheith cabhrach. Agus an mbealach sin, nach bhfuil tú ag réiteach dhá fadhbanna thar a bheith deacair ag an am céanna. Tá tú ag díriú ach ar an loighic, agus ansin bogadh tú isteach an error. OK. Let tús ag dul trí an pseudocode. Scríobh mé suas anseo, dénártha pseudocode cuardaigh. Beidh muid ag scríobh seo ar an bord le chéile. Nó beidh mé ag scríobh sé agus go mbainfidh tú a thabhairt dom na leideanna de dhíth orm. Mar sin, is féidir aon duine a thabhairt dom an chéad líne ar an pseudocode agat Scríobh do chuardach dénártha? Sea, Annie? MAC LÉINN: Cé go bhfuil an fad an Tá liosta níos mó ná nialas. Jason Hirschhorn: Cé fad ar liosta de níos mó ná náid. Agus arís, feicimid roinnt C-lorg rudaí comhréire ar anseo. Ach tá an chuid is mó de seo i mBéarla. An raibh aon duine a bhfuil aon líne a chuir siad roimhe seo in n-pseudo-cód? MAC LÉINN: Faigh eagar ar in eagar uimhreacha. Jason Hirschhorn: Scríobh tú "a fháil ar sraith de uimhreacha curtha in eagar. "Per an bhfógra feidhme, beidh orainn a bheith ag dul le sraith de uimhreacha curtha in eagar. MAC LÉINN: [inaudible]. Jason Hirschhorn: Mar sin, beidh orainn go. Ach tá, más rud é nach raibh againn go, ní mór dúinn Bheadh ​​gá a shórtáil ar ár sraith de uimhreacha, mar gheall cuardaigh dénártha ach oibríonn ar eagair eagar. Mar sin, cé go cothrom fad liosta náid, tá mé ag dul a chur i roinnt braces gcuach a dhéanamh breathnú sé beagán níos mó cosúil le C. Ach cé is cosúil, a mhapáil isteach ar cé lúb, mar sin taobh istigh an am céanna lúb cad is gá dúinn a dhéanamh ar chuardach dénártha? Duine éigin eile nach bhfuil tugtha dom fhreagairt go fóill ach a scríobh seo? MAC LÉINN: Téigh go dtí an lár an liosta. Jason Hirschhorn: Tom. Téigh go dtí an lár an liosta. Agus an cheist a leanúint-suas, cad féidir linn a dhéanamh uair amháin go bhfuil muid ag an lár an liosta? MAC LÉINN: Déan seiceáil cibé acu go an uimhir bhfuil tú ag lorg. Jason Hirschhorn: Den scoth. Téigh lár an liosta agus seiceáil má tá ár n-luach ann - iontach. An raibh duine ar bith a bhfuil aon rud eile go raibh éagsúla ná seo? Sin é go díreach ceart. An chéad rud a dhéanann muid i cuardaigh dénártha Tá téigh go dtí an lár an liosta agus seiceáil a fheiceáil má tá ár n-luach ann. Mar sin, glacadh mé má tá ár n-luach ann, cad a dhéanaimid? MAC LÉINN: Táimid ar ais náid [inaudible]. Jason Hirschhorn: Yeah, más rud é ár Is é luach ann, fuair muid é. Mar sin, is féidir linn a insint ar bhealach éigin, áfach, an Tá feidhm sainithe, inis dúinn an t-úsáideoir fuair muid é. Más rud é nach bhfuil sé ann, áfach, go nuair a fhaigheann sé seo tricky. Mar sin, más rud é nach bhfuil sé ann, duine éigin eile a a bhí ag obair ar cuardaigh dénártha nó Tá smaoineamh anois, cad a dhéanaimid? MAC LÉINN: Ceist. Jason Hirschhorn: Is ea? MAC LÉINN: An bhfuil an eagar curtha in eagar cheana féin? Jason Hirschhorn: Sea, tá muid ag glacadh Tá an eagar curtha in eagar cheana féin. MAC LÉINN: Mar sin, ansin caithfidh tú a sheiceáil má is é an luach a fheiceann tú níos mó ná an luach a gur mian leat, is féidir leat bogadh go dtí an lár an leath eile. Jason Hirschhorn: Mar sin, má tá an lár Is é an liosta níos mó ná cad tá muid lorg, ansin is féidir linn a cad é? Sinn ag an áit? MAC LÉINN: Ba mhaith leat chun bogadh go dtí an leath de liosta le uimhreacha níos ísle ná sin. Jason Hirschhorn: Mar sin, beidh muid glaoch go thaobh na láimhe clé. Mar sin, más rud é go lár níos mó, is féidir linn a chuardach an leath clé den liosta. Agus ansin ag cuardach, cad atá i gceist agam le cuardaigh? MAC LÉINN: [inaudible]. Jason Hirschhorn: théann muid go dtí an lár. Táimid athuair i ndáiríre rud seo. Téimid ar ais tríd ár lúb fad. Feicfidh mé a thabhairt duit an ceann deireanach - eile, má tá lár lú ná an méid a dhéanann muid, cad a dhéanann muid anseo? MAC LÉINN: Téigh go dtí an ceart. Jason Hirschhorn: Cuardaigh an ceart. Breathnaíonn sé seo go maith, ach an bhfuil aon duine a bheith aon rud gur féidir linn a bheith ar iarraidh nó aon rud eile a chuir tú i do pseudo-cód? Mar sin, is é seo an méid atá againn go dtí seo. Cé go bhfuil an fad an liosta níos mó ná náid, táimid ag dul chun dul go dtí an lár an liosta agus seiceáil má tá ár n-luach ann. Má tá an lár níos mó, táimid ag dul chun cuardach ar chlé, eile más rud é an lár níos lú, táimid ag dul chun cuardach a dhéanamh ar an gceart. Mar sin, tá muid go léir a bhí eolas a bheith acu na téarmaí a úsáid againn san eolaíocht ríomhaireachta agus na huirlisí atá againn. Ach beidh tú faoi deara cheana féin go raibh muid ag labhairt i mBéarla, ach fuair muid lán de na rudaí go bhfuil an chuma a mhapáil ar uirlisí atá againn in ár trealamh uirlis códaithe. Mar sin, ceart as an bat, nach mbeimid dul chun cód ndáiríre go fóill. Cad a fheiceann muid anseo i mBéarla go léarscáileanna ar rudaí is féidir linn a scríobh i C? MAC LÉINN: Cé. Jason Hirschhorn: Cé. Mar sin, seo cé go dheis anseo léarscáileanna ar cad é? MAC LÉINN: A lúb fad. Jason Hirschhorn: A lúb fad? Nó is dócha, níos ginearálta, lúb. Ba mhaith linn rud éigin a dhéanamh thar agus os cionn. Mar sin, táimid ag dul chun cód lúb. Agus tá a fhios againn cheana féin, mar atá déanta againn seo cúpla uair agus táimid Tá neart samplaí amach ann, conas iarbhír a scríobh an innéacs le haghaidh lúb. Mar sin, ba chóir a bheith éasca go leor. Ba cheart dúinn a bheith in ann a fháil go Thosaigh go leor go tapa. Cad eile a dhéanann linn a fheiceáil i anseo? Cad eile struchtúir syntaxes, rudaí go bhfuil muid eolas maidir leis i C, a dhéanann muid tá tuiscint ar, bunaithe cheana féin uaire de na focail a úsáidtear againn? Sea, Anna? [Inaudible] díreach kidding. Anna, dul ar aghaidh. MAC LÉINN: Má tá agus eile. Jason Hirschhorn: Má tá agus eile - ar dheis anseo. Mar sin, cad a dhéanann na cuma mhaith? MAC LÉINN: An má ráiteas eile. Jason Hirschhorn: Yeah, coinníollacha, ceart? Mar sin, beidh orainn gá is dócha a scríobh roinnt coinníollacha. Agus arís, cé mearbhall b'fhéidir ag an chéad, ní mór dúinn go ginearálta le tuiscint anois ar conas a gcoinníollacha agus scríobh an chomhréir do choinníollacha. Agus más rud é nach bhfuil againn, táimid díreach suas an error do choinníollacha, gearrtha agus greamaigh go bhfuil, mar tá a fhios againn dúinn Ní mór coinníoll anseo. Aon rudaí eile a fheicimid go bhfuil léarscáil isteach rudaí a d'fhéadfadh mór dúinn a dhéanamh i C? Yeah, Aleha? MAC LÉINN: D'fhéadfadh sé seo a bheith soiléir, ag díreach seiceáil má is ionann luach éigin. Jason Hirschhorn: Mar sin, conas is féidir linn a sheiceáil agus - mar sin téigh go dtí an lár an liosta agus seiceáil má tá ár n-luach ann? Conas is féidir linn é sin a dhéanamh i C? Cad é an chomhréir sin? MAC LÉINN: Chomhionannais, is ionann. Jason Hirschhorn: Chomhionannais, is ionann. Mar sin, tá an seic dul dócha a bheith ina is ionann ionann,. Mar sin, beidh a fhios againn ní mór dúinn go bhfuil áit éigin. Agus i ndáiríre, ach i scríbhinn é, linn a fheiceáil na rudaí eile. Táimid ag dul a bheith le déanamh roinnt oibreoirí comparáide ann - iontach. Mar sin, tá sé i ndáiríre cosúil, tríd is mór, ní mór dúinn i scríbhinn focal de C ZIP fóill. Ach fuair muid ar an tsamhail meabhrach síos trí léachtaí agus iad siúd shorts. Scríobh muid pseudo-cód mar ghrúpa. Agus cheana féin, ní mór dúinn 80% más rud é nach 90% den méid is gá dúinn a dhéanamh. Anois, ní mór dúinn ach chun cód sé, a arís é, le fadhb neamh-fánach a réiteach. Ach ar a laghad táimid ag bhfostú ar an loighic. Ar a laghad anois nuair a théann muid chun uaireanta oifige, Is féidir liom a rá, tá a fhios agam cad is gá dom a dhéanamh, ach is féidir leat i gcuimhne dom an error? Nó fiú má uaireanta oifige atá plódaithe, tú Is féidir Google don error, in áit ná á bhfostú ar an loighic. Agus arís, seachas ag iarraidh a réiteach an loighic agus na fadhbanna error go léir ag an am céanna, tá sé go minic i bhfad níos fearr a bhriseadh na dhá fhadhb crua amach i dhá cinn níos soláimhsithe agus a dhéanamh ar an pseudo-cód ar dtús agus ansin i cód C. Mar sin, a ligean ar a fheiceáil cad a rinne mé le haghaidh an pseudo-cód roimh an am. Cé go bhfuil an fad an liosta níos mó ná náid, féachaint ar an lár an liosta. Má fuair líon ais fíor, eile má líon níos airde, ar chlé cuardaigh. Eile más rud é líon níos ísle, cuardaigh ceart, ar ais bréagach. Mar sin, go Breathnaíonn beagnach mar an gcéanna más rud é nach beagnach mar an gcéanna le cad a scríobh againn. I ndáiríre, Tom, cad a dúirt tú an chéad, briseadh lár an liosta agus, más líon fuarthas ina dhá ráiteas i ndáiríre cad a rinne mé. In éineacht liom iad ann. Ba chóir dom a bheith ag éisteacht leis tú an chéad uair. Mar sin, is é sin an pseudo-cód atá againn. Más mian leat go dtí anois, tá brón orainn, téigh ar ais go dtí ár fhadhb tosaigh. A ligean ar cód binary.c. Mar sin, leagan atriallach de chur i bhfeidhm cuardaigh dénártha baint úsáide as an méid seo a leanas bhfógra feidhme. Agus ní gá duit gá a chóipeáil sé síos ach go fóill. Tá mé ag dul i ndáiríre a oscailt suas ar dheis anseo binary.c. Mar sin, tá an bhfógra feidhme i lár an scáileáin. Agus beidh tú a fheiceáil ghlac mé an pseudo-cód ó ar mo thaobh, ach beagnach mar an gcéanna leis an méid a scríobh againn, agus chur go i do shon. Mar sin anois, a ligean ar ghlacadh cúig nóiméad chun cód an fheidhm seo. Agus arís, má tá aon cheist agat, ardaigh do lámh, in iúl dom, beidh mé teacht timpeall. MAC LÉINN: [inaudible]. Jason Hirschhorn: Mar sin, ghlac mé an dénártha sainmhíniú cuardaigh ag an barr, ar líne 12. Sin an méid a fuair mé do mo sleamhnán. Agus ansin go léir an pseudo-cód mé díreach tar éis a chóipeáil agus a ghreamú ó an sleamhnán, pseudo-cód sleamhnán. Tá mé fós nach bhfuil éisteacht [inaudible]. Mar sin, má tá tú críochnaithe do chuid a chur i bhfeidhm, ba mhaith liom chun é a sheiceáil. Ríomhphost mé tú an comhad helpers.h níos luaithe sa rang seo. Agus beidh sé ar fáil ar líne chomh maith le le híoslódáil do dhaoine breathnú alt seo am moill. Agus úsáid mé díreach tar éis an dáileadh cineálach Cód ó pset3. Mar sin, ghlac mé find.C, bain úsáid as mo chomhad helpers.h seachas an comhad helpers.h go bhfuil a tugadh sa chód dáilte. Agus bhí mé a dhéanamh ar athrú amháin eile find.C seachas ag glaoch díreach go simplí cuardaigh, glaoigh binary_search. Mar sin, más mian leat a thástáil do chód, Tá a fhios go bhfuil an conas é a dhéanamh. Go deimhin, nuair a beidh orainn a bheith ag rith an gcód seo ceart anois, rinne mé díreach tar éis cóip den mo eolaire pset3, arís, swapped amach na comhaid Cúntóirí agus ansin rinneadh athrú i find.C binary_search chun glaoch seachas go simplí cuardach. Jason Hirschhorn: Is ea. Tá ceist agat? MAC LÉINN: Nevermind. Jason Hirschhorn: Uimh imní. Bhuel, a ligean ar tús a chur leis. Déanfaimid cód an seo mar ghrúpa. Nóta amháin eile. Arís, tá sé seo, is féidir iad a bhabhtáil go héasca i do Fadhb Socraigh Trí. Tá mé mo chomhad helpers.h a, in áit ná an helpers.h táimid tugtha, Dearbhaíonn dénártha cuardaigh, mboilgeog saghas, agus sórtáil a roghnú. Agus i find.c beidh tú faoi deara ar líne, cad é sin, líne 68, tugaimid dénártha cuardach seachas chuardach. Mar sin, arís, an cód atá ar fáil ar líne nó leis an gcód go bhfuil tú Is féidir a chruthú ceart anois a bhabhtáil go héasca i do p leagtar 3 chun é a sheiceáil. Ach ar dtús, a ligean ar cód an chuardaigh dénártha. Ár fheidhm dearbhú, ar ais againn bool. Glacann muid slánuimhir a dtugtar luach. Glacann muid sraith de slánuimhreacha a dtugtar luachanna, agus a chur orainn n a bheith an méid de na eagar. Ar líne 10, ar dheis anseo, tá mé géar san áireamh stdbool.h. An bhfuil fhios ag aon duine cén fáth go bhfuil ann? Mar sin, cad a líne de chód dhéanamh? MAC LÉINN: Ceadaíonn sé duit a úsáid le cineál ar ais bool. Jason Hirschhorn: Go díreach. MAC LÉINN: Nó tá sé ina leabharlann a ligeann a úsáid le cineál ar ais bool. Jason Hirschhorn: Mar sin, an géar san áireamh Tugann líne stdbool.h dom roinnt sainmhínithe agus dearbhuithe haghaidh rudaí go bhfuil mé cead a úsáid i an leabharlann. Mar sin, tá i measc iad siúd a rá go níl chineál seo ar a dtugtar bool, agus is féidir é a bheith fíor nó bréagach. Mar sin, go bhfuil an méid a dhéanann an líne sin. Agus más rud é nach raibh mé ag an líne sin, ba mhaith liom a fháil i dtrioblóid le haghaidh a scríobh focal ceart anseo, bool, ceart ann. Go díreach ceart. Mar sin, is gá dom gur sa chód seo. OK. Mar sin, seo, arís, tá atriallach leagan, ní amháin athchúrsach. Mar sin in iúl dúinn tús a chur leis. Let tús leis an gcéad líne de chód pseudo. Agus tá súil againn, beidh muid - nó nach bhfuil súil go dtosnódh. Táimid ag dul chun dul timpeall an tseomra. Beidh muid ag dul líne ar líne, agus beidh mé ag cabhrú tú an figiúr amach an líne gur gá dúinn a scríobh ar dtús. Mar sin, cé go fad liosta Tá níos mó ná nialas. Let tús i tosaigh. Cad ba chóir dom a scríobh líne anseo, i cód? MAC LÉINN: Cé lúibíní Tá n níos mó ná 0. Jason Hirschhorn: Cé Is mór n ná 0. Mar sin, ionann n agus an méid liosta, agus táimid ag seiceáil más rud é - [GUTH interposing] Jason Hirschhorn: - tá brón orainn? MAC LÉINN: Cén chaoi a bhfuil a fhios againn go bhfuil ionann n agus an méid de na liosta? Jason Hirschhorn: Tá brón orm. Per an tsonraíocht pset, an chuardaigh agus a shórtáil feidhmeanna is gá duit a scríobh, ionann n agus an méid de na liosta. Rinne mé dearmad a mhíniú go anseo. Ach tá. ionann n agus an méid an liosta, sa chás seo. Mar sin, cé go n níos mó ná 0. OK. D'fhéadfadh a chruthú le beagán fadhbanna áfach, má théann rudaí ar. Toisc go mbeidh orainn ag a fhios ag an méid an liosta ar fud an fheidhm, ach a rá tús a chur orainn amach le sraith de 5 slánuimhreacha. Agus táimid ag dul tríd agus tá muid narrowed sé síos go dtí anois le sraith de 2 slánuimhreacha. Cén 2 slánuimhreacha é sin? Is é an méid 2 anois gur mhaith linn a breathnú ar, ach a 2 é sin? An bhfuil a dhéanann ciall, an cheist sin? OK. Feicfidh mé a iarraidh arís. Mar sin, tús a chur againn amach leis an sraith de 5 slánuimhreacha, agus n 5 ionann, ceart? Beidh muid a reáchtáil trí mheán anseo. beidh orainn a athrú is dócha ar an méid, ceart, mar a théann rudaí ar. Cé acu is cad a rá againn ba mhaith linn a dhéanamh. Nílimid ag iarraidh a chuardach an rud iomlán arís. Mar sin, a rá a athrú muid é a 2. Glacann muid leath an liosta go bhfuil corr. Mar sin, ach Pioc 2. Mar sin, anois is ionann n 2. I leithscéal as an bochta marcóirí erase tirim. Ceart? Agus tá muid ag cuardach tríd an liosta arís le liosta de mhéid 2. Bhuel, is é ár n-eagar fós ar mhéid 5. Rá againn ba mhaith linn ach amháin maidir le cuardach a dhéanamh 2 spotaí ann. Mar sin, a 2 spotaí iad siúd? An bhfuil a dhéanann ciall? An bhfuil siad ar an taobh clé 2 spotaí? An bhfuil siad an ceart 2 spotaí? An bhfuil siad lár 2 spotaí? Táimid tar éis a briste síos ar an bhfadhb, ach táimid ndáiríre níl a fhios cén chuid den an fhadhb táimid ag lorg fós ag, ach ag a bhfuil na 2 athróg. Mar sin, ní mór dúinn le beagán níos mó ansin, cé go bhfuil níos mó ná 0 n. Ní mór dúinn a fhios nuair a Tá ár n eagar iarbhír. Mar sin, an bhfuil aon duine a bhfuil athrú leis an líne seo? An chuid is mó de na líne seo ceart go foirfe. An bhfuil céim eile? An féidir linn babhtála rud éigin amach do n a a dhéanamh líne seo le beagán níos fearr? Mm-hm? MAC LÉINN: An féidir leat a thúsú athróg cosúil le fad a n beidh a úsáid ansin níos déanaí sa fheidhm? Jason Hirschhorn: Mar sin, thúsú fad athraitheach n, agus úsáid againn go ina dhiaidh sin? Ach ansin dúinn a nuashonrú ach fad agus táimid fós ar siúl i an fhadhb seo nuair a muid ghearradh síos an fad ár fhadhb, ach ní a fhios againn más rud é, i ndáiríre, léarscáileanna fada sin isteach. MAC LÉINN: Nach bhfuil ag dul a tharlóidh ina dhiaidh sin nuair a bhíonn tú ag rá, cuardaigh chlé, cuardaigh ceart? Tá tú ag dul chun dul go dtí difriúil réimse de do - Jason Hirschhorn: Táimid ag dul chun dul chuig ceantar, ach cén chaoi a fhios againn atá le dul go dtí? Má tá muid ach an eagar agus seo n, cén chaoi a fhios againn nuair a téigh go dtí an eagar. I ais, yes? MAC LÉINN: An bhfuil tú, cosúil le, níos ísle cheangal agus athróg cheangal uachtarach nó rud éigin mar sin? Jason Hirschhorn: OK. Mar sin, is é an smaoineamh eile. Seachas díreach súil a choinneáil ar na méid, a choinneáil orainn riain an níos ísle agus athróg cheangal uachtair. Mar sin, conas is féidir linn a ríomh ar an méid ó ar cheangal níos ísle agus uachtair faoi cheangal? [GUTH interposing] Jason Hirschhorn: Dealú. Agus a choinneáil chomh maith súil a choinneáil ar an níos ísle cheangal agus uachtair faoi cheangal a in iúl dúinn, táimid ag cuardach an dá? An bhfuil muid ag cuardach an dá thar anseo? An bhfuil muid ag cuardach an dá lár? Is dócha nach bhfuil an dá lár, mar gheall ar seo, i ndáiríre, tá cuardaigh dénártha. Ach anois beidh orainn a bheith in ann a fháil ar an méid, ach freisin ar na teorainneacha na eagar. Go bunúsach, má ní mór dúinn ár ollmhór leabhar gutháin, sracadh muid é i leath. Tá a fhios againn anois i gcás go bhfuil níos lú Tá an leabhar teileafóin. Ach ní tá muid ag rian iarbhír an leabhar teileafóin i leath. Ní mór dúinn fós a fhios agat cá an Rá nua ar ár fhadhb is. An bhfuil aon cheist aon duine faoi ​​sin? Is ea? MAC LÉINN: An mbeadh sé ag obair ag a chruthú athraitheach, i, go bhfuil tú ansin ach aistriú seasamh na liom i gcoibhneas lena staid reatha, agus an fad, n? Jason Hirschhorn: Agus cad é i? MAC LÉINN: Cosúil liom a bheith cosúil le saghas - Cosúil go mbeadh tú a thúsú liom a bheith ar an seasamh lár an eagar. Agus ansin, má tá an luach ag seasamh i sa lár an eagar sa fuarthas a a bheith níos lú ná an luach de dhíth ort, mé anois éiríonn an fad an eagar, móide luach mé roinnt ar 2. Cosúil, féach, athrú tú mé - Jason Hirschhorn: Ceart. MAC LÉINN: - suas go dtí an - Jason Hirschhorn: Mar sin, tá mé beagnach dearfach a bheidh ag obair. Ach an pointe huaire, is gá duit dhá phíosa eolais anseo. Is féidir leat é a dhéanamh le tús agus deireadh, nó is féidir leat é a dhéanamh le méid, agus ansin roinnt marcóir. Ach is gá duit dhá phíosa faisnéise anseo. Ní féidir leat a fháil trí le díreach ceann amháin. An bhfuil a bhfuil ciall leis? Mar sin, táimid ag dul chun dul tríd, agus táimid ag dul a dhéanamh [inaudible] agus a chruthú roinnt marcóirí. Mar sin, what'd scríobhann tú i do chód? MAC LÉINN: mé díreach tar éis a dúirt slánuimhir cheangal tá sé ar cheann cothrom le 0. Jason Hirschhorn: A ligean ar glaoch ar go slánuimhir, ag tosú. MAC LÉINN: OK. Jason Hirschhorn: Sin a dhéanann ciall níos mó le haghaidh dom. Agus? MAC LÉINN: A dúirt mé, buille faoi thuairim mé, slánuimhir dar críoch. Jason Hirschhorn: slánuimhir dar críoch. MAC LÉINN: buille faoi thuairim mé, n lúide 1, nó rud éigin mar sin. Cosúil, an eilimint seo caite. Jason Hirschhorn: Mar sin, scríobh tú, o ionann 0, Leathstad, agus slánuimhir tosú ionann dar críoch n lúide 1, Leathstad. Mar sin, go bunúsach, cad tá ag éirí linn anseo, 0 an chéad phost. Agus mar atá a fhios againn i eagair, nach bhfuil siad ag dul suas go dtí n, a théann siad suas go dtí n lúide 1. Mar sin, ní mór dúinn roinnt de theorainneacha dár eagar. Agus a tharlóidh na teorainneacha tosaigh a bheith an bounds tosaigh ar ár fhadhb. OK. Mar sin, go fuaimeanna maith. Ansin, má théann muid ar ais go dtí an líne seo, cé go Tá fad liosta níos mó ná 0, cad, in ionad n ba chóir, chuir muid i anseo? MAC LÉINN: Scríobh dar críoch tús lúide. Jason Hirschhorn: Cé dar críoch lúide Tá tús níos mó ná 0? OK. Agus d'fhéadfadh muid, má bhíomar ag iarraidh dhéanamh go bhfuil beagán nicer, cad eile a d'fhéadfadh muid a dhéanamh? Má bhíomar ag iarraidh a ghlanadh an cód suas le beagán? Conas is féidir linn a fháil réidh leis an 0? Tá sé seo ach ceist stíl. Tá sé ceart ceart anois. Ní dhéanann Deireadh: MHIC LÉINN tús comhionann? Jason Hirschhorn: Is féidir linn a dhéanamh cad? [GUTH interposing] Tá cur deireadh níos mó: MHIC LÉINN? Jason Hirschhorn: Yeah. Is féidir linn a dhéanamh go díreach cé dar críoch Tá níos mó ná tús. Ceart. Bhreisluacha muid ag tosú ar an taobh eile sin, agus fuair muid réidh leis an 0. Mar sin, tá sé seo ach níos glaine beagán. OK. Mar sin, cé go bhfuil fad liosta 0, scríobhamar sin, cé go dar críoch níos mó ná tús. Táimid ag dul a chur in ár riachtanach guailleáin chatach, agus ansin an chéad rud ba mhaith linn a dhéanamh ná breathnú ar iad i liosta beag. Tú? An féidir leat a thabhairt dom an - MAC LÉINN: Má lúibíní luach lúibín cearnach - Jason Hirschhorn: Má lúibíní luach lúibín cearnach. MAC LÉINN: Deireadh a chur le roinnt ar 2. Jason Hirschhorn: cur deireadh? MAC LÉINN: Feicim fadhb le do - Jason Hirschhorn: OK. Bhuel, breathnú ar an lár. Cén chaoi a bhfuil a fhios againn cad é an lár? Yeah. Mar sin, lig dom a scriosadh cód sin. Cén chaoi a bhfuil a fhios againn cad é an lár? I rud ar bith, nuair a tá tú an tús agus deireadh, conas a dhéanann tú teacht ar an lár? MAC LÉINN: meán tú. MAC LÉINN: cuir tú iad le chéile agus ansin - Jason Hirschhorn: Add iad le chéile agus ansin? MAC LÉINN: Agus meán tú. Roinn é faoi 2. Jason Hirschhorn: Add iad le chéile agus roinn 2. Mar sin, is ionann lár slánuimhir? Tom, is féidir leat é a thabhairt dom? MAC LÉINN: Tús móide dar críoch - Jason Hirschhorn: Tús móide dar críoch. MAC LÉINN: Gach, lúibín, arna roinnt ar 2. Jason Hirschhorn: All, i lúibíní, roinnt ar 2. Mar sin, a thugann dom an lár aon ní, a cheartú? MAC LÉINN: Ní mór duit freisin a shlánú suas. Jason Hirschhorn: Cad a dhéanann tú Ciallaíonn, is gá dom a shlánú suas? [GUTH interposing] MAC LÉINN: Toisc má tá sé corr líon, ansin tá sé cosúil - Jason Hirschhorn: Bhuel, ceart go leor. Mar sin, d'fhéadfadh mé bhabhta sé suas. Ach má tá sé corruimhir, 5, is féidir liom ag cur 1 ar shiúl ó lár. Nó má tá sé uimhir fiú, in áit, go bhfuil cás níos fearr. Má tá sé 4, ní mór dúinn ach 4, is féidir liom a ghlacadh an chéad "lár", ceanglófar, comharthaí athfhriotail nó an dara "lár" amháin. Bheadh ​​Ceachtar obair do chuardach dénártha, mar sin ní féidir liom gá i ndáiríre do bhabhta air. Ach tá rud amháin eile agam Ní mór chun breathnú ar an líne seo. Ní fhéadfadh muid a bhaint amach go fóill, ach beidh muid ag teacht ar ais dó. Mar gheall ar an líne seo i ndáiríre fós Ní mór rud amháin eile. Ach go dtí seo, tá muid i scríbhinn ceithre líne de chód. Táimid agam ar ár tús agus marcóirí dar críoch. Tá ár lúb am céanna, a mhapálann ar go díreach chuig ár pseudocode. Táimid ag féachaint ar an lár a mhapálann go díreach ar ár pseudocode. Ba mhaith liom a rá go dtéann sé seo chun an lár an liosta, an líne seo de chód. Agus ansin, nuair a théann muid go dtí an lár an liosta, an rud eile is gá dúinn a dhéanamh Tá seiceáil má tá ár n-luach ann do an pseudocode scríobh againn níos luaithe. Mar sin, conas is féidir linn a sheiceáil más rud é ár luach ag an lár an liosta? Tú. Cén fáth nach bhfuil tú é seo? MAC LÉINN: Má tá ár n-luach ar ag an lár atá comhionann le is cuma cad a leag muid an - Ciallaíonn mé cothroma ar cóimhéid leis - Jason Hirschhorn: Tá sé - OK. MAC LÉINN: Níl mé cinnte cad é an athróg beimid ag féachaint do cé go bhfuil, mar gheall ar - [GUTH interposing] MAC LÉINN: [inaudible]. Jason Hirschhorn: Go díreach. Per an bhfógra feidhme, táimid ag lorg luach. Mar sin, tá muid ag cuardach do luach i sraith de luachanna. Mar sin, tá tú díreach ceart. Beidh tú a dhéanamh, má scriosaidh luach paren oscailte lár dúnta ionann lúibín ionann luach, agus taobh istigh tá cad is gá dúinn a dhéanamh? Más rud é ár luach ar ann, cad is gá dúinn a dhéanamh? [GUTH interposing] MAC LÉINN: Fill ar ais náid. Jason Hirschhorn: Fill ar ais fíor. MAC LÉINN: Fill ar ais fíor. Jason Hirschhorn: Michael, cad a dhéanann an líne seo a dhéanamh? MAC LÉINN: [inaudible] Tá an clár a reáchtáil a ndóigh, agus is é sin níos mó, agus tá tú an méid is gá duit a dhéanamh? Jason Hirschhorn: an clár nó cad? Sa chás seo? LÉINN: An fheidhm. Jason Hirschhorn: An fheidhm. Agus mar sin, chun filleadh ar cibé ar a dtugtar agus a thabhairt dó an luach, fíor. Go díreach ceart. Príomh. Cad é an cineál ar ais na príomh-, Micheál? MAC LÉINN: int, slánuimhir? Jason Hirschhorn: slánuimhir, go díreach. Slánuimhir. Ba é sin ach ceist a dhéanamh cinnte tú guys a bheith ar a bharr. Cad a dhéanann sé ar ais de ghnáth, má gach rud ag obair go maith? MAC LÉINN: nialais. Jason Hirschhorn: nialais. Go díreach ceart. MAC LÉINN: Má tá an tuairisceáin seo ach fíor, níl aon eolas á thabhairt faoi ​​na rudaí ar an - Ó, tá sé seo ag rá ach go bhfuil luach atá taobh istigh an eagar. Jason Hirschhorn: Go díreach. Ní hé seo an clár a thugann faisnéis nuair a bheidh díreach é an luach. Tá sé ag rá ach, tá, fuair muid sé, nó gan aon, nach raibh againn teacht air. Mar sin, má tá líon fuarthas, ar ais fíor. Bhuel, i ndáiríre rinne muid díreach i ndáiríre go tapa leis an líne amháin de chód. Mar sin, beidh mé ag bogadh go líne pseudocode. MAC LÉINN: Ní gá dúinn a athrú ar an eagar? Ba chóir é a luachanna, ní luach, ceart? Jason Hirschhorn: Tá brón orm. Go raibh maith agat. MAC LÉINN: Yeah. Jason Hirschhorn: an líne seo Ba chóir go mbeadh luachanna. Go díreach ceart. OK. Mar sin, tá muid d'fhéach sé ar an liosta lár. Má fuair líon tuairisceán ceart. Leanúint ar aghaidh ar a bhfuil ár pseudocode, má Tá lár níos mó, d'fhág cuardaigh. Mar sin, bhí mé i anseo, má uimhir níos airde, d'fhág cuardaigh. Constantine, is féidir leat a thabhairt dom líne seo de chód? MAC LÉINN: Más luach na lár - Jason Hirschhorn: Mar sin, má tá luach - má luachanna paren oscailte lúibín gar scriosaidh lár - MAC LÉINN: An bhfuil níos lú ná luach? Jason Hirschhorn: An bhfuil níos lú ná. MAC LÉINN: Níos lú ná a luach. Jason Hirschhorn: Luach. Bhuel, i ndáiríre, ba mhaith leat a seiceáil má tá an líon - Tá brón orm. Is é seo mearbhall beag. Ach má tá an uimhir eile sa Tá lár an liosta níos mó. MAC LÉINN: Ó, ceart go leor. Jason Hirschhorn: Feicfidh mé a athrú go. Eile más rud é go lár níos airde, táimid ag ag iarraidh a chuardach ar chlé, ceart go leor? Agus cad a dhéanann muid taobh istigh seo más rud é an coinníoll? MAC LÉINN: An féidir liom a dhéanamh ar athrú beag a an coinníoll, é a athrú go eile más rud é? Jason Hirschhorn: Else más rud é? OK. Mar sin, beidh an gcód seo a fhorghníomhú faoi ​​mar an gcéanna. Ach an rud deas faoi úsáid a bhaint más rud é, eile más rud é, eile más rud nó más rud é, eile más rud é, eile Ciallaíonn sé sin go bhfuil ach ar cheann de na ag dul go dtí a sheiceáil, ní gach trí cinn acu, d'fhéadfadh a bheith. Agus déanann sé go beagán níos deise ar an ríomhaire go bhfuil reáchtáil do chlár. Mar sin, [? Constantine,?] tá muid taobh istigh an líne seo, eile más rud luachanna, lúibín lúibín lár dlúth Tá níos mó ná luach. Cad is gá dúinn a dhéanamh? Ní mór dúinn chun cuardach a dhéanamh ar an taobh clé. Conas is féidir linn é sin a dhéanamh? Tá mé ag dul a thabhairt duit tús. Tá na dhá rud a dtugtar ag tosú agus dar críoch. Mar sin, cad is gá a tharlóidh leis an tús? Más mian leat chun cuardach a dhéanamh ar an taobh clé den liosta, a fháil againn ár tús reatha. Cad is gá dúinn a dhéanamh? MAC LÉINN: Leagaimid an tús le lár móide 1. Jason Hirschhorn: Mar sin, má tá muid cuardach ar an taobh clé? MAC LÉINN: Tá brón orainn, lár lúide - mar sin bheadh ​​an deireadh a bheith lár lúide 1 agus tús - Jason Hirschhorn: Agus cad tharlaíonn don tús? MAC LÉINN: Fanann sé mar an gcéanna. Jason Hirschhorn: Mar sin, an Fanann brí an chéanna. Má tá muid ag cuardach ar an taobh clé, tá muid ag baint úsáide as an tús céanna - go díreach ceart. Agus an deireadh? Tá brón orainn, cad a dhéanann an dar críoch comhionann arís? MAC LÉINN: Meán lúide 1. Jason Hirschhorn: Meán lúide 1. Anois, cén fáth lúide 1, ní hamháin lár? LÉINN: Is é an lár amach as an pictiúr cheana féin, mar a bhí againn sheiceáil go bhfuil sé amach? Jason Hirschhorn: Sin go díreach ceart. Is é an lár amach as an pictiúr. Sheiceáil muid cheana féin ar an lár. Mar sin, nach bhfuil muid ag iarraidh "an lár," ceanglófar comharthaí athfhriotail, chun leanúint ar aghaidh de bheith i sraith go bhfuil muid ag lorg. Mar sin, tá sé seo iontach. Eile más rud é go lúibín luachanna lár níos mó ná luach ionann dar críoch lár lúide 1. Jeff, céard faoi seo líne deireanach? MAC LÉINN: Eile. Is Luachanna lár lú ná luach? Jason Hirschhorn: Beidh muid tú ag tabhairt dom eile. Mar sin, más rud é nach gá duit a thabhairt dom - MAC LÉINN: ag tosú Mar sin, ansin bheadh ​​móide lár 1. Jason Hirschhorn: is ionann Tosú móide lár 1, arís, chun na críche céanna gcúis go Constantine thug dúinn níos luaithe. Agus ag an deireadh, nach bhfuil a thug dom líne de chód fóill? Fill ar ais bréagach, Aleha, cad ná scríobh againn anseo? MAC LÉINN: Fill ar ais bréagach. Jason Hirschhorn: Fill ar ais bréagach. Agus ní mór dúinn a dhéanamh, mar má táimid Ní gá é a fháil, ní mór dúinn a rá linn ní raibh sé. Agus dúirt muid táimid ag dul a thabhairt ar ais bool, ionas go mbeidh muid cinnte a thabhairt ar ais ar áit éigin bool. Mar sin, a ligean ar siúl an gcód seo. Tá mé ag dul iarbhír a - mar sin táimid i gcríochfort. Beidh muid soiléir ár bhfuinneog. A ligean ar Make Uile. Fuair ​​muid níl earráid amháin. Níl earráid ar líne 15, ag súil Leathstad ag deireadh na dearbhú. Mar sin, cad a rinne mé dearmad? MAC LÉINN: Leathstad. Jason Hirschhorn: Leathstad ceart suas anseo. Sílim go raibh cód Tom. Mar sin, Tom, [inaudible]. Just a kidding. A ligean ar a dhéanamh Déan Uile arís. MAC LÉINN: Cén eolaire Dropbox Ba chóir dúinn a bheith i do seo? Jason Hirschhorn: Mar sin, is féidir leat ach ag breathnú ar an giotán. Ach arís, má raibh tú a bogadh seo isteach i do eolaire cód an pset3 chun iarracht a sé amach, go bhfuil an méid a rinne mé. Má beidh tú faoi deara anseo - tá brón orainn, ceist mhaith. [? LS,?] Tá mé i anseo an cód find.c na seachtaine seo distro cód. Tá mé helpers.h. Tá mé comhad Déan go bhfuil mé i ndáiríre in eagar le beagán a chur san áireamh leis na nua comhaid táimid ag scríobh. Beidh gach den chód a bheith ar fáil, ní an chóid dáilte, ach an nua Déan comhad, beidh an comhad helpers.h nua ar fáil ar líne le híoslódáil. Arís, mar sin iad siúd na cóid breise againn. Sin a dhéanamh go léir, in aghaidh an líne seo a dhéanann, a aimsiú, dénártha, roghnú mboilgeog - a dhéanann gach trí cinn acu agus tiomsaíonn isteach seo a aimsiú cód inrite. Mar sin, go ginearálta, nach bhfuil muid ag iarraidh a díreach chuig check50. Is mian linn a reáchtáil roinnt tástálacha ar ár gcuid féin. Ach amháin ionas gur féidir linn a bhrostú seo le beagán, Beidh check50 2013 pset3.find pas i helpers.c-- mo dona. Ní dóigh liom go bhfuil an ceart sin anois. Mar sin, táimid ag dul i ndáiríre go dtí reáchtáil an cód le haghaidh fíor. Usage.find /, tá a fhios agat cad a chiallaíonn go bhfuil? MAC LÉINN: Ní mór duit an dara -orduithe ar sé. Jason Hirschhorn: dhíth orm líne an dara ordú. Agus de réir an tsonraíocht, de dhíth orm chun dul isteach cad tá muid ag lorg. Mar sin, a ligean ar breathnú ar feadh 42. Beidh muid é a choinneáil i sórtáilte, mar gheall orainn Nach bhfuil scríofa feidhm saghas fóill - 42, 43, 44. Agus ní raibh Rialú D teacht ar an snáthaid i haystack an. Sin olc. Tá sé cinnte ann. A ligean ar iarracht rud éigin eile. B'fhéidir go bhfuil sé mar gheall ar chuir mé sé ag an tús. A ligean ar a dhéanamh 41, 42, 43. Tá muid ag dul. Fuair ​​sé é. A ligean ar é a chur ag an deireadh anois, ach ionas gur féidir linn a bheith críochnúil - 40, 41, 42. Ní raibh teacht ar an tsnáthaid. Mar sin, luaigh mé níos luaithe seo. Ar an drochuair, bhí a fhios agam seo bhí ag dul a tharlóidh. Ach chun críocha oideolaíocha, tá sé go maith chun iniúchadh a dhéanamh air. Ní chuireann sé ag obair. Ar chúis éigin, ní féidir é a aimsiú. Tá a fhios againn cad atá i ann, ach nach bhfuil muid ag aimsiú sé. Mar sin, is é an rud amháin a d'fhéadfadh muid a dhéanamh dul trí GDB a fháil air, ach ní aon duine, gan dul trí GDB, tá tuiscint ar áit screwed muid suas? [? Madu? ?] MAC LÉINN: I mo thuairimse, d'fhéadfadh sé a bheith nuair a chríochnaíonn is comhionann leis tús, agus tá sé ach liosta aon-eilimint. Ansin neamhaird sé ach é ina ionad sin seiceála i ndáiríre é. Jason Hirschhorn: Sin go díreach ceart. Nuair is ionann deireadh tús, a dhéanann muid fós gné i ár liosta? MAC LÉINN: Tá. Jason Hirschhorn: Sea, go deimhin, ní mór dúinn a bheith ar cheann agus gan ach gné amháin. Agus beidh a tharlaíonn is dócha nuair a, in aghaidh an cód a thástáil againn, tá muid ag an os comhair an coca féir nó ag an deireadh an coca féir. Sin an áit a tús agus Tá deireadh ag dul go dtí comhionann amháin, a bhfuil cuardach dénártha. Mar sin, sa dá cásanna nach raibh sé ag obair, Ba mar gheall ar dar críoch cothrom le tús. Ach má dar críoch cothrom le tús, dhéanann an lúb fad a fhorghníomhú? Ní dhéanann sé. Agus d'fhéadfadh muid a sheiceáil go arís trí GDB. Mar sin, conas is féidir linn a shocrú cód seo, mar gheall ar nuair a bhíonn am céanna dar críoch cothrom le ag tosú, ba mhaith linn freisin seo cé lúb a reáchtáil. Mar sin, cad a shocrú is féidir linn a dhéanamh go dtí an líne 18? MAC LÉINN: Tá [inaudible] mó ná nó cothrom le. Jason Hirschhorn: Go díreach ceart. Cé go bhfuil deireadh níos mó ná nó cothrom le tús. Mar sin anois, a théimid ar cinnte a fháil go cás cúinne ag an deireadh. Agus a ligean ar a fheiceáil. A ligean ar reáchtáil an am amháin níos mó. A ligean ar a dhéanamh ar fad. Arís, beidh ort a díreach leanúint chomh maith anseo. Aimsigh 41 an uair seo. Just a choinneáil ag teacht. Aimsigh 42. A ligean ar é a chur ag an tús - 42, 43, 44. Fuair ​​muid é. Mar sin, bhí go deimhin, an t-athrú is gá dúinn a dhéanamh. Ba é sin a lán de códaithe againn ach rinne, cuardaigh dénártha. An bhfuil aon cheist roimh aon duine Bogadh liom ar aghaidh go dtí línte a scríobhamar i Cuardach dénártha nó conas figured againn amach cad a rinne muid an figiúr amach? Sula sinn ag dul ar aghaidh, ba mhaith liom freisin a chur in iúl amach go tríd is tríd, mapáilte muid ár n-pseudo-cód amháin ceann amháin isteach ar ár cód. Raibh againn go bhfuil rud tricky chun an figiúr amach leis an ag tosú agus dar críoch. Ach ní raibh figured tú amach go, tú bheadh ​​scríofa go leor i bhfad ar an Cód comhionann, ach amháin le haghaidh sin dá líne barr. Agus ansin a bheadh ​​agat realized nuair a rinne tú é i seiceálacha agus cásanna a is gá duit rud éigin eile. Mar sin, fiú má bhí tú ag leanúint ar ár líne pseudo-cód a líne, ba mhaith leat Tá ' gotten ar fad ach dhá líne cód an gá duit a scríobh. Agus ba mhaith liom a bheith sásta a geall go bhfuil tú guys bheadh ​​figured amach go léir go go tapa go leor, go raibh gá duit a chur éigin de marcóir i ann chun an figiúr amach cá raibh tú. Is é arís, an chumhacht a dhéanamh pseudo-cód roimh an am. Mar sin, is féidir linn a dhéanamh ar an loighic ar dtús, agus ansin is féidir linn a bheith buartha faoi an error. Dá mbeadh muid ag dhaoine eatarthu mar gheall ar an loighic agus ag iarraidh a scríobh an cód i C, ba mhaith linn a bheith gotten go léir messed suas. Agus ansin gur mhaith linn a bheith ag iarraidh ceisteanna faoi loighic agus comhréir agus meshing iad go léir le chéile. Agus ba mhaith linn a bheith gotten caillte i cad is féidir a bheith go tapa fadhb an-deacair. Mar sin, a ligean ar bogadh ar aghaidh anois leis an saghas roghnú. Tá 20 nóiméad fágtha. Mar sin, tá mé ag mothú nach mbeidh muid in ann a a fháil trí gach ceann de saghas roghnaithe agus mboilgeog saghas. Ach lig dúinn ar a laghad iarracht a chríochnú saghas roghnú. Mar sin, a chur i bhfeidhm a roghnú a shórtáil baint úsáide as an seo a leanas an dearbhú fheidhm. Arís, tá sé seo tógtha ó na fhadhb a leagtar sonraíocht. Luachanna Is Int lúibíní é, le sraith de slánuimhreacha. Agus is é int.n mhéid an eagar. Tá saghas Roghnú dul a shórtáil seo eagar. Mar sin, de réir ár n-eiseamláir mheabhrach roghnú saghas, tarraingt againn ar an - chéad, théann muid tríd an liosta an chéad am, teacht ar an líon is lú, é a chur ag an tús, aimsiú an dara líon is lú, é a chur i an dara staid más mian linn a saghas in ord ardaitheach. Níl mé forcing leat a scríobh pseudo-cód ceart anois. Ach sula dhéanaimid an cód an rang i cúig nóiméad, tá muid ag dul a scríobh pseudo-cód sin ní mór dúinn roinnt ciall an áit ina bhfuil muid ag dul. Mar sin, iarracht a scríobh pseudo-cód ar do chuid féin. Agus ansin iarracht dul go pseudo-cód i cód. Déanfaimid é sin a dhéanamh mar ghrúpa i cúig nóiméad. Agus ar ndóigh, in iúl dom má tá aon cheist agat. MAC LÉINN: Sin é? Jason Hirschhorn: Féach cé chomh fada leat Is féidir a fháil in dhá nóiméad níos mó. Tuigim nach mbeidh tú a bheith in ann a chríochnú. Ach beidh muid ag dul níos mó ná seo mar ghrúpa. Tá tú ag códú go léir mar sin [inaudible], mar sin tá mé tá brón orainn sos cad atá tú a dhéanamh. Ach a ligean ar dul tríd an mar ghrúpa. Agus arís, cuardaigh dénártha, a thabhairt duit go léir dom amháin más rud é nach línte níos mó de chód. Go raibh maith agat as sin. Táimid ag dul a dhéanamh ar an rud céanna a anseo, cód chéile mar ghrúpa. Mar sin, saghas roghnú - a ligean ar scríobh roinnt mear pseudo-cód. In aghaidh an samhail intinne is féidir, duine éigin a thabhairt dom an chéad líne pseudo-cód, le do thoil? Cad ba mhaith liom a dhéanamh? MAC LÉINN: Cé an liosta Is as ord. Jason Hirschhorn: OK, cé go Is é an liosta as ord. Agus cad a dhéanann tú "as ordú?" MAC LÉINN: Cé [inaudible] nach bhfuil curtha in eagar. Jason Hirschhorn: Cé an liosta Is as ord, cad a dhéanaimid? Tabhair dom an dara líne, le do thoil, Marcus. MAC LÉINN: Mar sin, teacht ar an chéad cheann eile líon is lú. Déanfar é seo a indented. Jason Hirschhorn: Mar sin, teacht ar an chéad ré-uimhreach is lú. Agus ansin duine éigin eile? Nuair a fhaigheann muid an chéad cheann eile is lú líon, cad a dhéanaimid? Tá mé ag dul a rá a aimsiú an líon is lú. Sin an méid ba mhaith linn a dhéanamh. Mar sin, teacht ar an líon is lú. Ansin, cad a dhéanaimid? MAC LÉINN: [inaudible] a tús. Jason Hirschhorn: Tá brón orm? MAC LÉINN: É a chur i an ag tosú ar an liosta. Jason Hirschhorn: Mar sin, é a chur i tús an liosta. Agus cad a dhéanaimid leis an rud go raibh an tús ar an liosta, ceart? Táimid ag overwriting rud éigin. Mar sin, nuair a dhéanann chuir muid go? Yeah, Anna? MAC LÉINN: I gcás an lú Bhí líon? Jason HIRSHHORN: Mar sin, a chur ar an tús ar an liosta i gcás an Ba é líon is lú. Mar sin, cé go bhfuil an liosta as ord, a aimsiú an líon is lú, é a chur i tús an liosta, a chur ar an ag tosú ar an liosta i gcás an Ba é líon is lú. Marcus, is féidir leat a shimpliú an líne seo cé go bhfuil an liosta as ordú? MAC LÉINN: Cé na huimhreacha nár in eagar? Jason HIRSHHORN: OK, mar sin d'fhonn a a fhios nach bhfuil na huimhreacha a bhí curtha in eagar, cad is gá dúinn a dhéanamh? Cé mhéad a theastaíonn uainn chun dul tríd an liosta seo? MAC LÉINN: Mar sin, buille faoi thuairim mé d'lúb, nó cé go, cé go líon a sheiceáil níos lú ná an fad an liosta? Jason HIRSHHORN: OK, go maith. I mo thuairimse, misphrased mé mo cheist go dona. Bhí mé ag iarraidh ach a fháil ar táimid ag dul a bheith acu chun dul tríd an liosta iomlán. Mar sin, cé go bhfuil an liosta as ord, dom, is deacair a mhapáil ar. Ach go bunúsach, go conas I mo thuairimse, faoi seo. Téigh tríd an liosta ar fad, teacht ar an líon is lú, é a chur i ag tosú - i ndáiríre, tá an ceart agat. A ligean ar iad araon, a chur. Mar sin, cé go bhfuil an liosta as ord, táimid ag gá chun dul tríd an liosta ar fad uair amháin, teacht ar an líon is lú, áit is i dtosach an liosta, a chur tús an liosta i gcás an líon is lú a bhí, agus ansin má tá an Tá liosta fós as ord, tá muid fuair chun dul tríd an próiseas arís, ceart? Sin an fáth saghas roghnú, Big-O runtime den chineál roghnaithe, duine ar bith? MAC LÉINN: n cearnógach. Jason HIRSHHORN: n cearnógach. Mar gheall ar cosúil le Marcus agus mé thuig díreach anseo, tá muid ag dul a bheith acu chun dul tríd an liosta liosta líon na n-amanna. Mar sin, ag dul trí rud éigin fhad n n líon na n-amanna Tá i ndáiríre n cearnógach. Mar sin, is é seo ár pseudocode. Breathnaíonn sé seo an-mhaith. An bhfuil aon cheist aon duine mar gheall ar an pseudocode? Toisc iarbhír Ba chóir saghas a roghnú is dócha a thagann duine le duine, cód ó pseudocode. Mar sin, aon cheist agat faoi na loighic an pseudocode? Cuir ceist air anois. Saghas Roghnú - cé go bhfuil an liosta amach ordú, táimid ag dul chun dul tríd sé agus teacht ar an lú gach uair agus é a chur i tosaigh. Mar sin, cé go bhfuil an liosta as ord féidir, duine éigin a thabhairt dom go líne de chód a níor thug dom líne de chód fóill, le do thoil? Fuaimeanna sé cosúil le cad é? MAC LÉINN: Sin do lúb. Jason HIRSHHORN: Fuaimeanna sé mhaith le haghaidh lúb. OK, is féidir leat a thabhairt dom an lúb do? Do - MAC LÉINN: Chomhionannais i 0. Jason HIRSHHORN: i nó - cad tá ar iarraidh againn? Cad a théann ar dheis anseo? MAC LÉINN: Int. Jason HIRSHHORN: Go díreach. (Slánuimhir i = 0; - MAC LÉINN: i