[Seinm ceoil] DAVID J. MALAN: Gach ceart. Is é seo an CS50, agus tá sé seo Is é an tús na seachtaine a dó. Mar sin in iúl dúinn tús a chur inniu le bug. A bug, ar ndóigh, a botún i gclár, agus beidh tú a fháil ar an- eolas maidir leis an gcoincheap seo má tá tú riamh cláraithe roimh. pset0 agus anois pset1. Ach a ligean ar a mheas rud éigin simplí beag ar dtús. An clár anseo go bhfuil mé chaith le chéile roimh ré, agus éileamh gur chóir é seo a phriontáil 10 réaltaí ar an scáileán ag baint úsáide as printf, ach tá sé Buggy cosúil ar bhealach éigin. Ós rud é go tsonraíocht sin ba chóir é a phriontáil 10 réaltaí, ach ní dhéanann sé cosúil, cad Tá ba mhaith leat a éileamh ar an fabht? Yeah? Mar sin, tá sé amach ag earráid amháin, agus cad a dhéanann tú i gceist le sin? OK. Den scoth. Mar sin, tá muid sonraithe Luach de náid tús do i, agus tá muid a shonraítear luach n de 10, ach tá muid úsáid as níos lú ná nó cothrom le. Agus is é an chúis go bhfuil an dá carachtair agus ní hamháin siombail amháin, cosúil i leabhar math, is é sin nach mian leat go bhfuil ar bhealach a chur in iúl ar an comhionann charachtar amháin. Mar sin, Ciallaíonn sé sin níos lú ná, ach má thosaíonn tú ag comhaireamh ar náid, ach go bhfuil tú ag comhaireamh an bealach ar fad suas tríd agus cothrom le 10, tá tú ar ndóigh ag dul go dtí comhaireamh 11 rudaí ar fad. Agus mar sin go bhfuil tú ag dul i gcló 11 réaltaí. Mar sin, cad a d'fhéadfadh a bheith ina shocrú seo? Yeah? Mar sin, ach a choigeartú agus an níos lú ná nó cothrom le bheith díreach níos lú ná, agus níl, éileamh mé, b'fhéidir réiteach eile, freisin. Cad a eile a dhéanann tú? Yeah? Mar sin, tús ionann le go 1, agus fhágáil ar an níos lú ná nó cothrom le. Agus frankly, ba mhaith liom a éileamh go bhfuil, ar an duine tipiciúil, tá sé seo is dócha níos simplí. Tosaigh comhaireamh ar 1 agus comhaireamh suas trí 10. Go bunúsach, a dhéanamh cad is ciall agat. Ach tá an réaltacht i cláir, mar atá feicthe againn, eolaithe ríomhaire agus ríomhchláraitheoirí ginearálta nach crom ag náid. Agus mar sin go breá uair amháin tú a fháil a úsáidtear chun é. Beidh do riocht ginearálta a bheith rud éigin cosúil le níos lú ná. Mar sin, ach loighciúil earráid go bhféadfadh muid anois shocrú agus ar deireadh thiar recompile seo agus a fháil ach 10. Bhuel conas mar gheall ar an fabht anseo? Anseo, arís, éileamh mé go bhfuil mé sprioc de priontáil 10 stars-- amháin in aghaidh an líne an am seo, ach ní dhéanann sé. Sula a mholadh againn cad is é an shocrú, cad a dhéanann sé seo taispeáin amhairc má bhí mé a chur le chéile agus reáchtáil an clár seo a dhéanamh, dar leat? Yeah? Star. Mar sin, go léir na réaltaí ar an Tá líne chéanna cad a chuala mé, agus ansin an carachtar líne nua. Mar sin, a ligean ar iarracht sin. Sin a dhéanamh Buggy-1, dul isteach, agus féach mé an t-ordú clang gur phléamar uair dheireanach. ./buggy-1, agus go deimhin a fheiceáil mé gach 10 réaltaí ar an líne chéanna cé Éilím i mo sonraíocht díreach a comment ar bharr na craoibhe an cód raibh sé i gceist agam a dhéanamh in aghaidh na líne. Ach Breathnaíonn an ceart seo. Anois, líne 15 tá sé cosúil Tá mé priontáil le réalta, agus ansin líne 16 tá sé cosúil Tá mé priontáil carachtar líne nua, agus tá siad an dá bearnach amhlaidh Tá mé taobh istigh den lúb go soiléir. Mar sin, níor chóir mé ag déanamh réalta, nua líne, réalta, líne nua, réalta, líne nua? Is ea? Yeah, murab ionann agus teanga mar Python, má tá tú ar an eolas, Ní dhéanann eangú ábhar chuig an ríomhaire. Nithe ​​sé ach leis an duine. Mar sin, línte cé go anseo tá mé invented 15 agus 16-- go Breathnaíonn álainn, ach nach bhfuil an ríomhaire cúram. Is cuma leis an ríomhaire faoi iarbhír ag braces chatach ar fud na línte de chód. Mar sin, go bhfuil sé clear-- díreach cosúil i Scratch-- go siúd dhá líne de chód ba cheart go ndéanfadh. Cosúil le ceann de na bhfreagra Scratch buí píosaí arís agus arís agus arís eile. Mar sin anois má tá mé ath-reáchtáil seo program-- ./buggy-2-- Hm. Tá mé botún anois. Cad a rinne mé dearmad a dhéanamh? Yeah, mar sin ní raibh mé a chur le chéile é. Mar sin, Buggy-2 a dhéanamh. Níl comhad den sórt sin mar nach raibh mé i ndáiríre le chéile an dara leagan. Mar sin suimiúil anois Níl variable-- neamhdhearbhaithe 2. Táimid ag déanamh 1. Déan Buggy-1-- ./buggy-1-- agus anois Tá gach ceann acu ar an líne chéanna. Anois, tá díolúine ann do an t-éileamh ceaptha de mo gur gá duit na braces gcuach. Nuair a bhíonn sé i ndáiríre OK-- má tá tú faoi ​​deara in alt nó textbooks-- a fhágáil ar lár na braces chatach? Yeah? Go díreach. Nuair a níl ach ceann amháin líne de chód go bhfuil tú ag iarraidh a bheith bainteach leis an lúb mar atá in ár chéad sampla. Tá sé breá dlisteanach a fhágáil ar lár na braces chatach díreach mar saghas áise as an Tiomsaitheoir a thabhairt duit. Yeah? Ceist mhaith. An mbeadh sé a mheas mar earráid stíl? Ba mhaith linn promote-- mar atá i CS50 An Treoir Stíle, an URL a i pset1-- sin i gcónaí úsáid a bhaint as na braces gcuach. Cinnte má tá tú nua chun cláir. Is é fírinne an scéil nach bhfuil muid ag dul a thoirmeasc tú as déanamh na leithris. Ach má tá tú ag fáil díreach isteach an swing na rudaí, hiomlán ach a úsáid i gcónaí ar an curly Braces dtí go bhfaigheann tú an hang of it. Ceist mhaith. Gach ceart. Mar sin, go raibh sin a bug. Ar a laghad, i rud éigin simplí go cothrom. Agus fós d'fhéadfá smaoineamh seo Is cóir rudimentary, ceart? Is é seo an saghas an chéad seachtain féachaint ar an teanga mhaith, féach le do bugs ann. Ach tá an réaltacht sin ionadaí i ndáiríre ar roinnt fadhbanna go leor scanrúil Is féidir a thagann chun cinn ar fud an domhain fíor. Mar sin, d'fhéadfadh roinnt de tú a thabhairt chun cuimhne má leanann tú nuacht ardteicneolaíochta, nó b'fhéidir fiú ghabhtar gaoithe de seo i mí Feabhra na bliana seo caite go raibh Apple Rinne beagán de botún sa dá iOS, an córas oibriúcháin ar a n-fóin, agus freisin Mac OS, an córas oibriúcháin ar a gcuid ríomhairí deisce agus ríomhairí glúine. Agus chonaic tú ceannlínte ar nós sin. Agus ina dhiaidh sin, Apple gealladh a shocrú seo a bug, agus go han-tapa a rinne é a shocrú i iOS, ach ansin seasta ar deireadh é i Mac OS chomh maith. Anois, aon cheann de na ceannlínte ina n-aonar i ndáiríre nochtann cad a bhí an fhadhb bhunúsach, ach bhí an fabht a laghdú ar deireadh thiar a bug i SSL, ciseal soicéid slán. Agus scéal fada gairid, is é seo an bogearraí go bhfuil ár brabhsálaithe agus eile bogearraí a úsáidtear a dhéanamh cad? Más rud a dúirt mé go bhfuil SSL i gceist, aon uair is tú cuairt a thabhairt ar URL a thosaíonn le HTTPS, cad é ansin d'fhéadfadh SSL a bhaineann leis? Criptiú. Mar sin, beidh muid ag labhairt faoi sin sna laethanta amach romhainn. Criptiú, an ealaín na faisnéis a scrambling. Ach scéal fada gairid, Apple éigin ó shin go raibh botún déanta i gcur chun feidhme na SSL, an bogearraí i bhfeidhm ar deireadh thiar URLanna cosúil HTTPS nó max naisc ann freisin. Is é an toradh a bhfuil do D'fhéadfadh naisc a d'fhéadfadh a idircheapadh. Agus bhí do chuid naisc Ní criptithe gá má bhí tú roinnt Guy olc i idir tú féin agus an suíomh gréasáin scríbe a Bhí a fhios conas leas a bhaint as seo. Anois Apple phost ar deireadh thiar a shocrú ar an deireadh, agus an cur síos n-shocrú ba é seo. Theip ar iompar Secure a bhailíochtú bharántúlacht an nasc. Tugadh aghaidh ar an tsaincheist le athchóiriú céimeanna bailíochtaithe ar iarraidh. Mar sin, tá sé seo le míniú wavy an-lámh chun go simplí ag rá go screwed muid suas. Tá literally amháin líne de chód go raibh Buggy i gcur chun feidhme an SSL, agus má théann tú ar líne agus cuardach a dhéanamh ar an Is féidir leat teacht ar iarbhír an cód foinse bunaidh. Mar shampla, tá sé seo le lámhaigh scáileán ach cuid de comhad cothrom mór, ach tá sé seo feidhm cosúil a dtugtar SSL freastalaí comhartha eochair a mhalartú fhíorú. Agus a thógann sé a bunch argóintí agus ionchuir. Agus nach bhfuil muid ag dul chun díriú i bhfad an iomarca ar an minutia ann, ach má tá tú ag díriú ar an gcód taobh istigh den mbarr an tí function-- a ligean ar súmáil isteach ar sin. D'fhéadfá amhras cheana cad a d'fhéadfadh an earráid a bheith fiú má tá tú aon smaoineamh deireadh thiar cad tá tú ag féachaint ar. Níl chineál ar aimhrialtacht anseo, a bhfuil cad é? Yeah, ní maith liom i ndáiríre an cuma ar dhá Téigh go mainneoidh. Frankly, níl a fhios agam i ndáiríre cad Goto ciallaíonn theipeann, ach a bhfuil dhá cheann acu ar ais go dtí ar ais. Sin díreach de chineál ar intinn dom hintleachtúil an bealach mícheart, agus go deimhin má súmáil muid i ar ach na línte, is é seo C. Mar sin, a lán de na cód Apple Tá féin scríofa i C, agus tá sé seo cosúil i ndáiríre equivalent-- gan sin eangú deas leagan, ach má aithníonn tú ar an bhfíric go níl aon braces curly, cad Apple Scríobh i ndáiríre ba cód go Breathnaíonn mar seo. Mar sin, tá mé súmáilte amach agus mé díreach tar éis seasta ar an eangú sa chiall más rud é níl aon braces curly, go theipeann dara Téigh go i buí ag dul a fhorghníomhú is cuma cén. Níl sé a bhaineann le an dá choinníoll os a chionn. Mar sin, fiú arís, ní má dhéanann tú go maith tuiscint a fháil ar cad a d'fhéadfadh sé seo b'fhéidir a dhéanamh, tá a fhios go bhfuil gach ceann de na conditions-- gach ceann de na línte Is céim an-tábhachtach i mbun an phróisis a sheiceáil má tá do shonraí i ndáiríre criptithe. Mar sin, gan bacadh le ceann amháin de na céimeanna, nach bhfuil an smaoineamh is fearr. Ach toisc go bhfuil muid seo dara Goto theipeann i buí, agus mar aon uair againn saghas aesthetically é a aistriú go dtí an taobh clé áit a bhfuil sé Is loighciúil i láthair na huaire, cad chiallaíonn sé seo don líne an cód thíos go dara Goto theipeann a bheadh ​​a cheapann tú? Tá sé seo ag dul i gcónaí a bheith ndearna. Mar sin, gotos atá frowned go ginearálta ar ar chúiseanna nach mbeidh muid ag dul i ndáiríre isteach, agus go deimhin i CS50 nach claonadh a bhíonn againn a mhúineadh an ráiteas seo Goto, ach is féidir leat smaoineamh ar Goto theipeann mar brí dul léim do roinnt chuid eile den chód. I bhfocail eile, léim thar an líne dheireanach ar fad, agus mar sin mar thoradh ar seo, dúr botún simplí a bhí díreach thoradh ar dócha duine éigin chóipeáil agus a ghreamú amháin ró mhéad uair go raibh an fad slándáil an iOS agus Mac OS Bhí i mbaol a Thascradh ag guys dona le tamall maith. Go dtí Apple socraithe ar deireadh seo. Anois, más rud é go bhfuil roinnt de tú i ndáiríre ag rith seanleaganacha de iOS nó Mac OS, is féidir leat dul go dtí gotofail.com a Is ar an suíomh gréasáin go bhfuil duine éigin a chur ar bun chun a chinneadh go bunúsach programmatically má tá do ríomhaire fós leochaileach. Agus frankly, má tá sé, is dócha go bhfuil smaoineamh maith thabhairt suas chun dáta do ghuthán nó do Mac ag an bpointe seo. Ach ansin, ach teist ach conas léirthuiscint ar na leibhéil níos ísle sonraí agus go cothrom Is féidir le smaointe simplí i ndáiríre a aistriú isteach i gcinntí agus fadhbanna a affected-- sa case-- na milliúin daoine. Anois, focal ar riarachán. Beidh Rannóg tús an Domhnach seo ag teacht. Gheobhaidh tú ríomhphost ag an deireadh seachtaine faoi alt, ag an bpointe an próiseas resectioning Cuirfear tús má tá tú thuig go bhfuil tú anois roinnt coinbhleachtaí nua. Mar sin, a tharlaíonn sé seo gach bliain, agus táimid Beidh freastal sna laethanta atá le teacht. Oifig dhéanann hours-- choinneáil súil ar an sceideal anseo. Athruithe beagán an tseachtain seo, go háirithe an t-am tús agus an suíomh, mar sin a dhéanamh i gcomhairle go roimh ceannteideal chun uaireanta oifige aon cheann de na ceithre oíche seo chugainn. Agus anois focal ar mheasúnú, go háirithe mar a Léim tú isteach an fhadhb Leagann amháin agus níos faide anonn. Mar sin, de réir an tsonraíocht, is iad seo go ginearálta na haiseanna chomh maith a meastóireacht a dhéanamh dúinn do chuid oibre. Tagraíonn Raon feidhme leis an méid méid do chuid uirlisí cód na gnéithe is gá ag ár sonraíocht. I bhfocail eile, cé mhéad de sraith píosa a rinne tú greim as. An ndearna tú an tríú cuid de é, go leith de, 100% de na sé. Fiú más rud é nach bhfuil sé ceart, cé mhéad a rinne tú iarracht? Mar sin, go rug an leibhéal iarrachta agus an méid a Giotán tú as an fadhbanna fadhb a leagtar ar. Correctness-- an gceann seo, go Cé chomh mór is é do chód ag teacht lenár sonraíochtaí agus saor bugs. Mar sin, oibríonn sé i gceart? Má a thabhairt dúinn sé roinnt ionchur a dhéanann, sé a thabhairt dúinn an t-aschur go súil againn? Design-- anois is é seo an chéad cheann de na cinn go háirithe cáilíochtúla, nó na cinn a éilíonn breithiúnas daonna. Agus go deimhin, is é seo an fáth tá foireann an oiread sin comhaltaí teagaisc agus cúrsa cúntóirí. Cé go bhfuil méid do cód scríofa go maith? Agus arís tá sé seo an- measúnú cáilíochtúil a bheidh ag obair le tú ar bi-directionally sna seachtainí atá le teacht. Mar sin, nuair nach bhfaigheann tú ach scóir uimhriúil, ach freisin a scóir i scríbhinn, nó aiseolas clóscríofa, aiseolas nó a scríobh i bhfocail mBéarla. Sin an méid beidh orainn a úsáid a thiomáint tú i dtreo go hiarbhír scríbhinn cód fearr. Agus i léacht agus alt, beidh muid iarracht a chur in iúl out-- chomh minic agus is can-- muid cad a dhéanann clár ní amháin ceart agus go feidhmiúil go maith, ach freisin atá deartha go maith. An is éifeachtaí a d'fhéadfadh sé a bheith, nó fiú amháin an chuid is mó álainn is féidir é a. A dtagann ár gcumas a stíl. Tá Stíl deireadh thiar breithiúnas aeistéitiúil. An raibh a roghnaíonn tú go maith ainmneacha do do athróg? An bhfuil tú bearnach do chód i gceart? An bhfuil sé cuma maith, agus dá bhrí sin, tá sé éasca do dhuine eile a léamh do seach dá cirte. Anois, go ginearálta in aghaidh an siollabas, scór muid na rudaí ar scála cúig phointe. Agus lig dom a casúr bhaile an bpointe go trí go deimhin go maith. An-tapa a dhéanamh folks tús a dhéanamh uimhríocht. Nuair a fhaigheann siad triúr as cúig maidir le cirte do roinnt pset agus dar leo, diabhal, mé ag dul go dtí 60% atá go bunúsach D nó E. Ní Sin an dóigh a smaoineamh ar na huimhreacha. Tá trí cinn, go deimhin, go maith, agus cad againn ginearálta ag súil leis ag an tús an téarma is é sin má tá tú ag fáil a bunch three's-- b'fhéidir lánúin aontaí, cúpla fours-- nó a mbeirteanna lánúin, cúpla fours-- go áit mhaith le tosú. Agus chomh fada is a fheiceann muid ar ruthag aníos le himeacht ama, tá tú in áit maith go háirithe. An fhoirmle a úsáid againn chun Tá rudaí meáchan bunúsach sin in aghaidh an siollabas, rud go díreach a chiallaíonn go bhfuil muid thabhairt do mheáchan níos mó a cruinneas. Toisc go bhfuil sé go minic cirte go dtarlaíonn an t-am is mó. Iontaobhas dom anois. Beidh tú find-- ar a laghad, i pset-- amháin go bhfuil tú chaitheamh 90% de do chuid ama ag obair ar 10% ar an bhfadhb. Agus gach rud saghas oibreacha ach amháin i gcás amháin nó dhá bugs, agus iad siúd ar an bugs sin tú a choinneáil suas go déanach san oíche. Sin iad na cinn a saghas éalú agat. Ach tar éis codlata ar sé, nó ag freastal ar uaireanta oifige nó ag cur ceisteanna ar líne, tá nuair a shroicheann tú an sprioc 100%, agus sin an fáth againn meáchan cirte an chuid is mó. Dear beagán níos lú, agus stíl beagán níos lú ná sin. Ach a choinneáil i stíl mind-- Is dócha gurb é an éasca de na a bite uaire de réir an Treoir Stíle. Agus anois, níos tromchúisí nóta ar macántacht acadúil. CS50 Tá an t-idirdhealú trua a bheith ar an táirgeoir is mó de Bhord Ad cásanna beagnach gach bliain go stairiúil. Níl sé seo mar gheall cheat mic léinn i CS50 ar bith níos mó ná aon aicme eile, ach mar gheall ar de réir nádúr na hoibre, ar an bhfíric go bhfuil sé leictreonach, ar an bhfíric go bhfuil cuma muid chun é, agus ar an bhfíric go bhfuil muid eolaithe ríomhaireachta, Is féidir liom a rá go bhfuil muid ar an drochuair an-mhaith ag a bhrath air. Mar sin, cad a chiallaíonn sé seo i dtéarmaí réadacha? Mar sin é, de réir an siollabas, an cúrsa ar fhealsúnacht i ndáiríre ní boil síos a bheith réasúnach. Tá an líne seo idir ag déanamh aon obair ar do chuid féin agus ag fáil beagán de cúnamh réasúnach ó chara, agus thar barr amach ag déanamh obair sin do do cara, nó a sheoladh é nó í do chód ionas gur féidir leis nó léi go simplí ghlacadh nó a fháil ar iasacht sé amach ceart. Agus go dtrasnaíonn an líne go tharraingt againn sa rang. Féach, an siollabas ar deireadh thiar do na línte go tarraingímid a bheith réasúnach agus iompar míréasúnach, ach a dhéanann sé i ndáiríre a fhiuchadh síos go dtí an bunúsach de do chuid oibre ar gá a a bheith ar do chuid féin sa deireadh. Anois leis sin ráite, tá heorastúla. Mar gheall ar mar a d'fhéadfá imagine-- as uaireanta oifige agus an visuals agus na físeáin againn Tá ' léirithe CS50 dá bhrí far-- Tá i gceist go deimhin a bheith chomh comhoibritheach agus chomh comharchumainn agus is sóisialta agus is féidir. Toisc go comhoibritheach mar go bhfuil sé dian. Ach leis sin seo, an heorastúla, mar a mbainfidh tú a fheiceáil ar an siollabas, is é sin nuair a bhíonn tú ag fadhb éigin. Tá tú roinnt bug i do chód go bhfuil tú Ní féidir a réiteach, tá sé réasúnta ar do shon a thaispeáint do cód le duine éigin eile. A chara fiú sa rang, cara ina suí in aice le tú ag uaireanta oifige, nó comhalta d'fhoireann. Ach ní féidir leo a thaispeáint a n-cód a thabhairt duit. I bhfocail eile, freagra le do question-- Gá dom nach bhfuil help-- OH, a anseo ar mo cód. Féach ar seo agus dhéaduchtú ó sé cad a bheidh agat. Anois, ar ndóigh, níl ar bhealach soiléir chun cluiche an córas ar fáil trína beidh mé léiríonn tú mo cód roimh a bhfuil ceist. Léiríonn tú dom mo do chód roimh a bhfuil ceist. Ach féach ar an siollabas arís do na Sonraí finer an áit ina bhfuil líne seo. Díreach le péint anois ar an pictiúr agus a roinnt chomh trédhearcach agus is féidir áit a bhfuil muid ag le blianta beaga anuas, is é seo an líon na gcásanna Bhoird Ad go bhfuil CS50 bhí os a chionn na seacht mbliana anuas. Leis an 14 cás seo titim is déanaí. I dtéarmaí na mac léinn i gceist, bhí sé 20 roinnt mac léinn corr titim seo caite. Bhí bhuaic de 33 mhic léinn roinnt blianta ó shin. Go leor acu ar an drochuair a thuilleadh anseo ar an gcampas. Mic léinn i gceist mar chéatadán den Tá rang sa raon stairiúil ó 0% go 5.3%, rud nach bhfuil ach a rá tá sé seo in aghaidh na bliana dúshlán. Agus i dtreo na críche sin, cad ba mhaith linn a dhéanamh ná a chur in iúl amháin go dd-- againn ach FYI-- a chur i gcomparáid ar le cothroime do na mic léinn a Is iad seo a leanas ar an líne dá réir sin. Déanann muid a chur i gcomparáid go léir atá ann faoi láthair aighneachtaí i gcoinne na misin atá caite ó na blianta fada anuas. Tá a fhios againn freisin conas a Google timpeall agus teacht ar stórtha cód , fóraim phlé ar líne , suímh ar líne poist ar líne. Más féidir le mac léinn a fháil, is féidir linn a surely a fháil an oiread agus is a dhéanann muid regretfully. Mar sin, cad go mbainfidh tú a fheiceáil ar an siollabas Tá cé clásal seo aiféala. Is féidir liom cinnte meas, agus tá muid go léir an fhoireann tar éis a rinneadh an cúrsa mhaith seo, nó an ceann seo féin le himeacht ama, cinnte a fhios agat cad tá sé cosúil le nuair Faigheann an saol ar an mbealach nuair a bhfuil tú déanach roinnt oíche deadline-- ní hamháin sa rang seo, ach another-- nuair a bhíonn tú ídithe go hiomlán, béim amach, bhfuil líon iomarcach na rudaí eile a dhéanamh. Beidh tú a dhéanamh ag pointe éigin saol cinnte olc, b'fhéidir go déanach cinneadh oíche. Mar sin, de réir an tsiollabais, tá clásal seo, den sórt sin más rud é laistigh de 72 uair an chloig de a dhéanamh roinnt cinneadh bocht, tá tú féin suas go dtí sé agus teacht i gcrích go dtí dom agus ar cheann de na ceannairí ar an gcúrsa ar agus beidh muid ag comhrá. Déanfaimid rudaí a láimhseáil go hinmheánach i súil bheith sé níos mó de nóiméad teagaisc nó ceacht saoil, agus ní rud éigin le ramifications go háirithe drastic mar a d'fhéadfadh tú a fheiceáil ar na cairteacha anseo. Mar sin, go bhfuil a ton an-tromchúiseach. Lig dúinn sos le haghaidh ach cúpla soicind a bhriseadh an teannas. [Seinm ceoil] DAVID J. MALAN: Ceart go leor, sin conas a bhí gur le haghaidh segue? Chun an lae inniu topaicí bunscoile. Is é an chéad cheann a astarraingt. Eile a bhfuil ag dul a bheith ar an léiriú na sonraí, a frankly Is bealach i ndáiríre tirim rá conas is féidir linn théann faoi fadhbanna a réiteach agus smaoineamh maidir le fadhbanna a réiteach? Mar sin, tá tú ag feiceáil i Scratch, agus atá tú le feiceáil b'fhéidir cheana féin i pset1 le C gur féidir leat é a úsáid, ní hamháin feidhmeanna, cosúil le printf, go bhfuil daoine eile i bliana anuas scríobh ar do shon. Is féidir leat scríobh freisin do fheidhmeanna féin. Agus cé nach fhéadfadh a bheith agat seo déanta i C, agus frankly i pset1 Ní gá duit i ndáiríre a scríobh do fheidhm féin mar gheall ar an problem-- cé go b'fhéidir daunting ag an chéad glance-- feicfidh tú féidir iad a réiteach ar deireadh thiar le ní léir go bhfuil go leor línte de chód. Ach leis sin ráite, i dtéarmaí na scríbhneoireachta do fheidhm féin, a thuiscint go bhfuil C thabhairt tú an cumas. Tá mé ag dul chun dul sa lá atá inniu cód foinse, atá ar fáil ar líne cheana féin, agus tá mé ag dul chun dul ar aghaidh agus a oscailt suas clár ar a dtugtar feidhm 0.C, agus i fheidhm nialas beidh orainn a fheiceáil ar rudaí a roinnt. Sa chéad líne 18 trí Is é mo fheidhm is mó 23. Agus anois go bhfuil muid ag tosú a léamh cód nach bhfuil muid ag scríobh ar an eitilt, ach ina ionad sin a scríobh mé roimh ré nó go bhfuil tú i fadhb a leagtar D'fhéadfadh a fháil ag scríofa roimh ré. Bealach maith chun tús a chur léamh duine eile cód Is é breathnú ar an fheidhm is mó. Figiúr amach cén áit a iontráil Tá pointe a reáchtáil ar an gclár, agus ansin lean sé go loighciúil ó ann. Mar sin, an clár seo priontaí cosúil d'ainm ina dhiaidh sin colon. Táimid ag úsáid ansin GetString as an leabharlann CS50 a fháil ar teaghrán, nó focal nó frása as an t-úsáideoir ar an méarchlár. Agus ansin níl seo Rud PrintName here--. Anois, nach bhfuil PrintName a feidhm a thagann le C. Níl sé i io.h. caighdeánach Níl sé i CS50.h. Tá sé in áit sa chomhad céanna. Fógra má scrollbharra mé síos línte bit-- 25 go 27-- tá sé ach ar bhealach deas de trácht do chód baint úsáide as na réaltaí agus slaiseanna. Is é seo an il-líne trácht a dhéanamh, agus tá sé seo ach mo cur síos i gorm ar cad a dhéanann an fheidhm seo. Toisc i línte 28 trí 31, Tá mé scríofa feidhm Super simplí Is é an t-ainm a bhfuil a PrintName. Bíonn sé cé mhéad argóintí ba mhaith leat a rá? Mar sin, argument-- amháin mar níl aon argóint atá liostaithe taobh istigh den lúibíní. Is é an cineál de Teaghrán. Cé acu is a rá PrintName Is mar seo bosca dubh nó feidhm a thógann mar ionchur teaghrán. Agus an t-ainm sin String Beidh conveniently bheidh Ainm. Gan S, ní N, ach Ainm. Mar sin, cad a dhéanann PrintName dhéanamh? Tá sé simplí deas. Díreach mar líne amháin de chód haghaidh an printf, ach is cosúil é a priontaí amach "Dia duit," mar sin, agus mar sin de. I gcás an sin, agus mar sin thagann as an argóint. Anois, nach bhfuil an nuálaíocht ollmhór anseo. Really, tá mé tógtha ar chlár a d'fhéadfadh a curtha i scríbhinn le líne amháin de chód leis seo a chur suas anseo, agus d'athraigh sé le rud éigin a lena ngabhann éigin sé nó seacht nó mar sin línte de chód léir ar an mbealach síos anseo. Ach tá sé an cleachtadh ar prionsabal a dtugtar astarraingt. Cineál ar imchochlú taobh istigh de nua feidhm go bhfuil an t-ainm, agus níos fearr ach an t-ainm sin literally deir cad a dhéanann sé. Ciallaíonn mé printf-- ní go go háirithe tuairisciúil. Más mian liom a chruthú píosa bhfreagra, nó má tá mé mian leo a chruthú le feidhm go priontaí ainm duine, an áilleacht seo a dhéanamh is gur féidir liom i ndáiríre a thabhairt go bhfuil an fheidhm ainm a chuireann síos ar cad a dhéanann sé. Anois, a thógann sé i ionchur a Tá mé ar a dtugtar treallach ainm, ach go bhfuil ró-iontach tuairisciúil in ionad a bheith níos beag cineálach cosúil S. Agus neamhní, do anois, ciallaíonn sé go díreach nach ndéanann an fheidhm seo lámh ar ais dom rud ar bith. Níl sé cosúil GetString go literally lámha ar ais dom ar shraith mar a rinne muid leis na píosaí de pháipéar le do classmates an tseachtain seo caite, ach tá sé ach i bhfeidhm taobh. Priontaí sé rud éigin ar an scáileán. Mar sin, ag deireadh an lae, má a dhéanamh ar fheidhm-0, ./function-0, beidh orainn a fheiceáil go iarrann sé ar mo ainm. Cineál mé David, agus é cineál mo ainm. Má dhéanann mé é arís le Rob, sé ag dul a rá "Dia duit, Rob." Mar sin, smaoineamh simplí, ach b'fhéidir eachtarshuíomh as seo meabhrach gur mar a fháil do chláir beagán níos casta, agus ba mhaith leat a scríobh smután de cód agus glaoch go code-- agairt go code-- ag roinnt tuairisciúil ainm cosúil PrintName, Dhéanann C acmhainn dúinn an cumas. Seo sampla eile simplí. Mar shampla, má osclaíonn mé suas comhad ó lá atá inniu ann ar a dtugtar return.c, faoi ​​deara an méid atá déanta agam anseo. An chuid is mó de seo fheidhm is mó atá printf. Mé an chéad thúsú treallach a athróg ar a dtugtar x leis an uimhir 2. Phriontáil mé ansin amach "Is é x anois % I "dul i luach x. Mar sin, tá mé ag rá ach cad a bhfuil sé. Anois, tá mé díreach tar boldly ag éileamh le printf. Tá mé ag cubing an luach x, agus tá mé dhéanamh trí ghlaoch feidhm ar a dtugtar a rith ciúb i x mar an argóint, agus ansin a shábháil an t-aschur san athróg féin, x. Mar sin, tá mé ag clobbering luach x. Tá mé ag sáraitheach an luach ar x le cibé mar thoradh ar ghlaoch tá an fheidhm ciúb. Agus ansin phriontáil mé díreach amach roinnt stuif clúmhach rá anseo cad a rinne mé. Mar sin, cad é sin ciúb? Fógra cad bunúsach difriúil anseo. Tá mé mar gheall ar an fheidhm ainm is a bhíodh. Tá mé ainm a shonraítear le haghaidh argóint. An uair seo tá sé ar a dtugtar n ionad ainm, ach raibh mé in ann a ghlaoch air aon rud is mian liom. Ach tá sé seo difriúil. Seo an rud ar thaobh na láimhe clé. Roimhe sin bhí sé cad eochairfhocal? Buachaillí. Anois, tá sé ar ndóigh slánuimhir. Mar sin, tá cad é dócha gurb é an chur amach? De bharr an méid signifies neamhní saghas neamhní, agus go raibh an cás. PrintName ais rud ar bith. Rinne sé rud éigin, ach Ní raibh sé ar láimh dom ar ais rud éigin go raibh mé in ann a chur ar an thaobh na láimhe clé de comhartha comhionann cosúil mé a rinneadh anseo ar líne 22. Mar sin, má deir mé isteach ar líne 30, cad is dócha go bhfuil tuiscint faoi ​​na rudaí a dhéanann ciúb dom? Yeah? Tuairisceáin sé slánuimhir. Mar sin, lámha sé dom ar ais, do Mar shampla, píosa de pháipéar ar a bhfuil sé scríofa an freagra. 2 chiúbaithe, nó 3 chiúbaithe, nó 4 cubed-- is cuma cad a ritheadh ​​mé i, agus conas a rinne mé a chur i bhfeidhm seo? Bhuel, ach n tráthanna n tráthanna n Tá conas a d'fhéadfadh liom a ciúb luach. Mar sin, arís, Super simplí smaoineamh, ach demonstrative anois conas is féidir linn a feidhmeanna a scríobh go raibh orainn i ndáiríre ar ais luachanna a d'fhéadfadh a bheith spéisiúil. A ligean ar breathnú ar shampla amháin deireanach anseo ar a dtugtar feidhm amháin. Sa sampla seo, a thosaíonn sé a fháil níos láidre. Mar sin, i feidhm amháin, an Fógra program-- deireadh thiar glaonna feidhm a dtugtar GetPositiveInt. Ní GetPositiveInt a feidhm sa leabharlann CS50, ach shocraigh muid muid ba mhaith sé a bheith ann. Mar sin, má scrollú muid síos níos déanaí sa chomhad, Fógra conas a chuaigh mé faoi chur chun feidhme a fháil ar slánuimhir dearfach, agus mé rá go bhfuil sé níos láidre mar is é seo ar dhínit líon na línte de chód. Níl sé ach amaideach Clár bréagán beag. Tá sé fuair iarbhír roinnt seiceáil earráid agus ag déanamh rud éigin níos úsáidí. Mar sin, más rud é nach tá tú ag feiceáil an walkthrough físeáin go bhfuil muid leabaithe i pset1, Tá a fhios go bhfuil an cineál lúb i C, den chineál céanna i spiorad leis na cineálacha rudaí Scratch a dhéanamh. Agus a deir é seo a dhéanamh. Priontáil amach. Ansin, dul ar aghaidh agus a fháil n-- fháil slánuimhir agus é a stóráil i n, agus a choinneáil ar é seo a dhéanamh arís agus arís eile agus arís fad a n níos lú ná ceann amháin. Mar sin, n ag dul a bheith níos lú ná aon ach amháin más rud é nach bhfuil an duine comhoibriú. Má tá sé nó sí ag clóscríobh i 0 nó -1 nó -50, tá an lúb ag dul a choinneáil fhorghníomhaithigh arís agus arís eile. Agus ar deireadh thiar faoi deara, mé ach ar ais ar an luach. Mar sin, anois ní mór dúinn a feidhm bheadh ​​Bainim deas dá mbeadh CS50 a chur i bhfeidhm i CS50.h agus CS50.c ar do shon, ach anseo is féidir linn anois a chur i bhfeidhm seo dúinn féin. Ach dhá tuairimí ar roinnt sonraí tábhachtacha. One-- cén fáth go raibh mé a dhearbhú slánuimhir n, dar leat, ar líne 29 seachas díreach a dhéanamh seo anseo, a bhfuil níos comhsheasmhaí le cad a rinne muid an tseachtain seo caite? Yeah? A Cheap maith. Mar sin, más rud é go raibh muid a chur air anseo, tá sé mar cé muid choinneáil dhearbhú arís agus arís eile. Go i agus de féin go bhfuil Ní fadhbanna, per se, mar is gá dúinn ach an luach uair amháin agus ansin táimid ag dul a fháil ar ceann nua ar aon nós. Ach a shíl go maith. Yeah? Dún. Mar sin, mar atá dearbhaithe agam n ar líne 29 taobh amuigh de na lúb, tá sé ar fáil ar fud na an fheidhm ar fad. Gan na feidhmeanna eile mar gheall ar Tá n fós taobh istigh de na gcuach braces anseo. So-- cinnte. Go díreach. Mar sin, tá sé seo fiú níos mó go dtí an pointe. Má dearbhaithe againn in ionad n ar dheis anseo ar líne 32, tá sé fadhbanna mar gheall ar buille faoi thuairim i gcás eile is gá dom a rochtain a fháil air? Ar líne 34, agus an Tá riail shimplí an ordóg gur féidir leat é a úsáid ach athróg taobh istigh de na braces gcuach is déanaí inar dhearbhaigh tú é. Ar an drochuair, líne 34 Tá líne amháin ró-dhéanach, mar tá mé dúnta cheana an brace curly ar líne 33 a fhreagraíonn don brace curly ar líne 30. Agus mar sin tá sé seo ar bhealach a rá go bhfuil an slánuimhir athróg scoped, mar a déarfá, ach taobh istigh de na braces gcuach. Sé nach bhfuil ach ann taobh amuigh díobh. Mar sin, go deimhin, má dhéanann mé é seo mícheart, lig dom a shábháil an cód mar is-- sé scríofa go mícheart. Lig dom dul ar aghaidh agus a dhéanamh fheidhm-1, agus earráid notice--. Úsáid neamhdhearbhaithe aitheantóir n ar líne 35, a bhfuil ceart anseo. Agus má scrollbharra muid suas thuilleadh, ceann eile. Úsáid neamhdhearbhaithe aitheantóir n ar líne 34. Mar sin, an Tiomsaitheoir, Clang, Tá noticing go bhfuil sé ach gan a bheith ann cé go go soiléir tá sé ann amhairc. Mar sin, tá a shocrú simplí dhearbhú ansin é. Anois, lig dom scrollaigh chun barr an chomhaid. Cad jumps amach ag tú mar a a bheith beagán difriúil as an stuif d'fhéachamar ar an tseachtain seo caite? Ní amháin go bhfuil mé an t-ainm, a dhéanamh ní hamháin Tá mé ina measc sin tá géar suas barr, Tá mé rud éigin Tá mé ag glaoch fréamhshamhail. Anois go Breathnaíonn millteanach cosúil leis an méid Chonaic muid ach nóiméad ó shin ar líne 27. Mar sin, a ligean ar tátal a bhaint astu ó eile teachtaireacht earráide cén fáth mé a rinneadh sin. Lig dom dul ar aghaidh agus scrios na línte ann. Agus mar sin tá a fhios againn rud ar bith faoi fhréamhshamhail. Remake an comhad seo. Déan feidhm amháin. Agus anois, diabhal, ceithre earráidí. A ligean ar scrollú suas go dtí an chéad cheann. Dearbhú intuigthe na feidhme a fháil ar slánuimhir dearfach go bhfuil sé neamhbhailí i C99. Ciallaíonn C99 ach 1999 leagan den teanga C, a bhfuil cad tá muid ag baint úsáide as go deimhin. Mar sin, cad a chiallaíonn sé? Bhuel C-- agus níos mó go sonrach C compilers-- cláir go leor balbh. Tá a fhios acu ach an méid atá tú dúirt sé leo, agus go bhfuil téamach hiarbhír as an tseachtain seo caite. Is í an fhadhb atá ann go má théann mé faoi ​​chur i bhfeidhm an t-ainm suas anseo, agus glaoch orm feidhm a dtugtar GetPositiveInt anseo ar líne 20, feidhme sin nach bhfuil go teicniúil ann go dtí go bhfeiceann an Tiomsaitheoir líne 27. Ar an drochuair, is é an tiomsaitheoir rudaí barr, síos, ar chlé, ar dheis a dhéanamh, sin mar gheall nach bhfuil sé le feiceáil ar an cur i bhfeidhm GetPositiveInt, ach Feiceann sé tú ag iarraidh a úsáid suas anseo, tá sé ag dul ach a bail-- yell ag tú le earráid message-- b'fhéidir cryptic, agus ní i ndáiríre thiomsú an comhad. Mar sin, fréamhshamhail mar a thugtar suas anseo tá admittedly iomarcach. Literally, chuaigh mé síos anseo agus a chóipeáil mé agus a ghreamú seo, agus chuir mé suas anseo. Bheadh ​​Void a bheith níos cuí, mar sin beidh muid ag literally chóipeáil agus a ghreamú an am seo. Chóipeáil mé literally agus pasted sé. Tá sé an-díreach mar cosúil le bruscar aráin. Is leid beag ar an Tiomsaitheoir. Níl a fhios agam cad a dhéanann sé seo go fóill, ach tá mé ag gealladh a thabhairt duit go mbeidh sé ann sa deireadh. Agus sin an fáth line-- seo teacht 16-- chríochnaíonn le Leathstad. Tá sé iomarcach ag dearadh. Is ea? Más rud é nach raibh tú a nascadh le do leabharlann a the-- OH, ceist mhaith. Áirítear Sharp inclusions comhad header. An riachtanas is gá a be-- chóir beagnach a bheith i gcónaí ag an mbarr an- an chomhaid le similar-- do go díreach ar an gcúis chéanna, yes. Toisc i caighdeánach Is io.h literally ar líne mar seo, ach leis an bhfocal printf, agus lena argóintí agus dá chineál ar ais. Agus mar sin ag déanamh géar-áirítear suas anseo, cad a bhfuil tú literally a dhéanamh Tá chóipeáil agus pasting an t-ábhar duine éigin eile a scríobh suas barr. Dá bharr sin cluing do chód i do na Ós rud é go bhfuil feidhm ag na feidhmeanna ann. Yeah? Go hiomlán. Mar sin, ar cliste an-agus ceart Bheadh ​​réiteach a bheith, tá a fhios agat cad é? Níl a fhios agam cad a Tá fhréamhshamhail, ach tá a fhios agam más rud é go Tuigim go bhfuil C díreach balbh agus rethinks bhun go barr. Bhuel a ligean ar thabhairt dó cad a theastaíonn sé. A ligean ar a ghearradh go cód, greamaigh sé suas barr, agus anois a bhrú is mó síos thíos. Seo bheadh ​​an fhadhb a réiteach freisin. Ach d'fhéadfaí tú teacht go héasca ar bun le cás inar A gá chun glaoch B, agus glaonna b'fhéidir B ar ais go dtí A. seo Tá rud éigin ar a dtugtar athchúrsáil, agus beidh muid ag teacht ar ais go dtí sin. Agus d'fhéadfadh sé nó nach féidir a bheith ina dea- rud, ach is féidir leat cinnte briseadh seo a réiteach. Agus ina theannta sin, ba mhaith liom éileamh stíle de, go háirithe nuair do chláir bheith seo le fada agus tá sé seo ar fad, tá sé ach áisiúil Super a chur is mó ag an mbarr mar tá sé an rud is ríomhchláraitheoirí ag dul chun cúram faoi. Agus mar sin tá sé níos glaine beag, fhéadfaí a rá, a dhéanamh ar an mbealach Rinne mé ar dtús é le fréamhshamhail fiú cé go Breathnaíonn sé beagán iomarcach ar an gcéad amharc. Yeah? Tá brón orainn, is féidir leat a rá é níos airde? Má tá tú ag aistriú na háiteanna na cur chun feidhme agus an fhréamhshamhail? Mar sin, go bhfuil ceist mhaith. Má tá tú ag ath-dhearbhú seo síos anseo, a ligean ar a fheiceáil cad a tharlaíonn. Mar sin, má chuir mé síos anseo, tá tú ag rá. Ó, tá brón orainn. Louder? Fiú amháin níos airde. Oh, ceist mhaith. An mbeadh sé neamhbhailí an fheidhm? Tá a fhios agat, tar éis gach bliana seo, mé riamh a chur ar fréamhshamhail ina dhiaidh. Mar sin, a ligean ar a dhéanamh a dhéanamh ar fheidhm-1 tar éis á dhéanamh sin. [Muttering] DAVID J. MALAN: Oh, fan. Tá muid fós gach rud a chur ar bun barr. Mar sin, a ligean ar é seo a dhéanamh suas anseo, más rud é go bhfuil mé tuiscint do cheist i gceart. Tá mé gach rud a chur, lena n-áirítear an fhréamhshamhail thuas is mó, ach tá mé ag cur an fhréamhshamhail faoi ​​bhun chur i bhfeidhm. Mar sin, má dhéanaim amháin, tá mé ag dul ais n error-- athróg nach bhfuil in úsáid. Ó, tá. Go raibh maith agat. A ligean ar a fheiceáil, a fháil againn fáil réidh le seo. Sin a bug eile, mar sin a ligean ar neamhaird a dhéanamh go. A ligean ar ndáiríre remake go tapa sin. OK, mar sin ní argóint sonraí úsáid ag Teaghrán format n-- OH, tá go toisc go Athraigh mé go dtí seo anseo. Gach ceart, tá a fhios againn cad é an freagra ag dul to-- ceart go léir, anseo táimid ag dul. Ah, go raibh maith agat as an dearfach. Gach ceart, beidh mé a shocrú cód seo after-- neamhaird seo bug leith ós rud é was-- sé seo oibríonn sé go bhfuil an freagra. Mar sin, ní chuireann sé scríobh an méid atá tú díreach déanta. Doigh liom an tiomsaitheoir bhfuil scríofa sa chaoi go bhfuil sé neamhaird a dhéanamh ar do fhréamhshamhail mar gheall ar an gcomhlacht, mar a déarfá, de go bhfuil an fheidhm cheana curtha i bhfeidhm suas níos airde. Ba mhaith liom dul i gcomhairle i ndáiríre an lámhleabhar an tiomsaitheoir a thuiscint má tá aon eile impleacht, ach ag an gcéad amharc ach ag iarraidh agus ag tástáil, is cosúil go mbeadh aon tionchar. Ceist mhaith. Mar sin, a ligean ar chruthú chun tosaigh anois, ag gluaiseacht ar shiúl ó fo-iarsmaí a Is iad na feidhmeanna sin a dhéanamh rud éigin cosúil le amhairc ar an scáileán le printf, ach ní ar ais luach. Agus tá na feidhmeanna sin ar ais luachanna mhaith linn a chonaic ach roinnt de na. Chonaic muid cheana féin ar an gcoincheap sin raon feidhme, agus beidh orainn a fheiceáil arís agus arís eile. Ach do anois, arís, a bhaint as an riail an ordóg gur féidir athróg a úsáid ach taobh istigh de na osclaíodh is déanaí agus braces chatach dúnta agus muid Chonaic sa sampla ar leith. Agus mar a dúirt tú amach, tá ability-- d'fhéadfaí tú a réiteach ar chuid de na fadhbanna trí chur athróg ar fud an domhain ag barr an-an comhad. Ach i mbeagnach gach cás ba mhaith linn a frown ar sin, agus go deimhin ní fiú dul isteach sa tuaslagán ar feadh anois. Mar sin, do anois, is é an takeaway go Tá athróg an gcoincheap sin raon feidhme. Ach a ligean anois ar breathnú ar eile bealach thirim iarbhír lorg ag roinnt suimiúil go leor Sonraí a chur i bhfeidhm. Conas a d'fhéadfadh ionadaíocht againn faisnéise. Agus d'fhéach muid cheana féin ag an sa chéad seachtain den rang. Ag Breathnú ar an binaries, agus i gcuimhne dúinn féin de dheachúlacha. Ach cuimhne ón tseachtain seo caite go bhfuil C cineálacha sonraí éagsúla agus bunches níos mó, ach na cinn is úsáidí do anois d'fhéadfadh a bheith seo. A ruabhric, nó carachtar, a tharlaíonn a bheith ar beart amháin, nó ocht giotán iomlán. Agus sin a rá go bhfuil an méid de ruabhric ach beart amháin. Tá beart ocht giotán, mar sin ciallaíonn sé seo go Is féidir linn a ionadaíocht a dhéanamh cé mhéad carachtair. Cé mhéad litreacha nó siombailí ar an méarchlár má tá bheart amháin nó ocht giotán. Smaoinigh ar ais go dtí seachtain nialas. Má tá tú ocht giotán, cé mhéad luachanna iomlána is féidir leat ionadaíocht a dhéanamh le patrúin na nialais agus cinn? One-- níos mó ná sin. Mar sin, 256 san iomlán má tá tú tús a chomhaireamh ó náid. Mar sin, má tá tú ocht bits-- mar sin má táimid Bhí ár bolgáin dénártha suas anseo arís, d'fhéadfadh muid dul leis na bolgáin solais ar agus as in aon cheann de 256 phatrúin ar leith. Anois tá sé seo le beagán fadhbanna. Nach bhfuil an oiread sin do Bhéarla agus teangacha grá, ach is cinnte nuair a dhéanann tú a thabhairt isteach, le haghaidh Mar shampla, teangacha na hÁise, a Tá siombailí i bhfad níos mó ná mar a 26 litreacha na haibítre. Fhéadfadh gá dúinn i ndáiríre níos mó ná beart amháin. Agus buíochas le Dia i le blianta beaga anuas tá an tsochaí caighdeáin arna nglacadh eile a úsáideann beart níos mó ná ceann amháin in aghaidh aisce. Ach do anois i C, an réamhshocraithe ach beart amháin nó ocht giotán. Slánuimhir, Idir an dá linn, tá ceithre bearta, ar a dtugtar a mhalairt mar 32 giotán. Rud a chiallaíonn cad é an ceann is mó agus is féidir Uimhir féidir linn a son le slánuimhir cosúil? Le billiún. Mar sin, tá sé 4000000000 thabhairt nó a thógáil. 2 don chumhacht 32th, má táimid glacadh aon uimhreacha diúltacha agus díreach a úsáid go léir dearfach uimhreacha, tá sé 4000000000 thabhairt nó féidearthachtaí a ghlacadh. A snámh, Idir an dá linn, tá chineál éagsúla den chineál sonraí i C. Tá sé fós ar líon, ach tá sé ina réaduimhir. Rud a bhfuil pointe deachúil. Agus tharlaíonn sé go raibh C Úsáideann ceithre bytes chun ionadaíocht a dhéanamh luachanna snámhphointe. Ar an drochuair, cé mhéad snámh Is iad na luachanna phointe ann ar fud an domhain? Cé mhéad réaduimhreacha atá ann? Níl an gan teorainn líon, agus ar an ní sin níl líon gan teorainn an slánuimhreacha. Mar sin, tá muid cheana féin de chineál ar tochailt féin poll anseo. Bhías cosúil i computers-- ag laghad, cláir scríofa i C ar them-- Is féidir a chomhaireamh ach amháin chomh hard 4000000000 thabhairt nó a thógáil, agus snámh luachanna phointe féidir ach is cosúil Tá roinnt méid teoranta beachtais. Ach an oiread digití tar éis a pointe deachúil. Mar gheall ar, ar ndóigh, más rud é tá tú ach 32 giotán, Níl a fhios agam conas a táimid ag dul chun dul faoi a ionadaíonn numbers-- fíor is dócha le cineálacha éagsúla de phatrúin. Ach tá a críochta ann surely líon na patrúin den sórt sin, mar sin anseo, freisin, tá sé seo fadhbanna. Anois is féidir linn a sheachaint an fhadhb beagán. Más rud é nach bhfuil tú ag úsáid snámhphointe, d'fhéadfaí tú a úsáid dúbailte i C, a thugann tú ocht bytes, a Tá patrúin bhealach níos féideartha nialais agus cinn. Ach tá sé fós teoranta, atá ag dul a bheith fadhbach má scríobhann tú bogearraí do grafaicí nó le haghaidh mhaisiúil foirmlí matamaiticiúla. Mar sin, b'fhéidir gur mhaith leat i ndáiríre a chomhaireamh suas níos mó ná sin. A named-- fada long-- stupidly Tá freisin ocht bytes, nó 64 giotán, agus tá sé seo dhá uair chomh fada agus mar slánuimhir, agus tá sé ar feadh luach slánuimhreach fada. Má tá fact-- Spraoi le o cheithre bytes, cé chomh fada is fada i C de ghnáth? Chomh maith leis sin ceithre bytes, ach Is fada fada ocht bytes, agus tá sé seo ar chúiseanna stairiúla. Ach an takeaway anois ach go bhfuil na sonraí sin ionadaíocht a bheith i computer-- go gléas fisiciúil le leictreachas, tá sé ag tiomáint go ginearálta sin nialais agus ones-- le méideanna críochta beachtais. Mar sin, cad é an fhadhb sin? Bhuel níl fadhb de maoil slánuimhir. Ní hamháin i C, ach i ríomhairí i gcoitinne. Mar shampla, más rud é seo Is beart fiú a bit-- mar sin má tá sé seo ocht bit-- go léir ar a bhfuil an uimhir amháin. Cad uimhir seo a ionadaíonn má glacaimid tá sé go léir luachanna dearfacha i dénártha? 255, agus nach bhfuil sé 256, mar gheall ar Is é nialas an líon is lú. Mar sin, tá 255 an líon is airde amháin, ach tá an fhadhb Is dócha gur theastaigh uaim a incrimint an athróg a ag baint úsáide as ocht giotán iomlán más mian liom a incrimint air. Bhuel chomh luath agus a chur mé ceann amháin do gach ceann de na cinn, is féidir leat a shamhlú b'fhéidir visually-- díreach cosúil iompar an ceann ag baint úsáide as decimals-- rud éigin ag dul le sruth ar an taobh clé. Agus go deimhin, má cuir mé ar an líon amháin leis seo, cad a tharlaíonn i dénártha is é sin overflows sé ar ais go nialas. Mar sin, má tá tú nach use-- ach slánuimhir, ach beart amháin chun slánuimhreacha a chomhaireamh i gclár, trí default-- chomh luath agus is a gheobhaidh tú go dtí 250, 251, 252, 253, 254, 255-- 0 thagann i ndiaidh 255, is dócha nach bhfuil an méid Tá úsáideoir ag dul a bheith ag súil. Anois, Idir an dá linn ar snámh bpointe domhan, caithfidh tú freisin fadhb den chineál céanna. Nach bhfuil an oiread sin leis an number-- mó cé go go fóill i gceist. Ach leis an méid beacht gur féidir leat ionadaíocht a dhéanamh. Mar sin, a ligean ar ghlacadh le breathnú ar an sampla seo anseo freisin as an lae inniu fhoinse code-- snámhphointe-0.c. Agus faoi deara tá sé ina Super clár simplí a Ba chóir a phriontáil cosúil amach cén luach? Cad a dhéanann tú wager seo ag dul i gcló cé níl beagán de chomhréir nua anseo? Mar sin tá súil againn go 0.1. Mar sin, atá comhionann le deichiú cuid mar gheall ar Tá mé ag déanamh 1 roinnte ar 10. Tá mé ag a stóráil an freagra i athróg ar a dtugtar f. Is é sin an athróg an snámhphointe cineál, a Tá eochairfhocal mhol mé díreach tar ann. Ní Tá feicthe againn seo roimh, ach Tá sé seo de chineál ar bhealach néata i printf a shonrú cé mhéad digití agat ag iarraidh a fheiceáil i ndiaidh pointe deachúil. Mar sin, ciallaíonn sé nodaireacht seo ach is anseo ar placeholder. Tá sé ar feadh pointe ar snámh luach, agus ó, dála an scéil, Léiríonn sé leis an pointe deachúil le uimhir amháin tar éis an pointe deachúil. Mar sin, go bhfuil an líon na digití suntasach, mar a déarfá, gur b'fhéidir gur mhaith leat. Mar sin, lig dom dul ar aghaidh agus a dhéanamh snámh-0 dhéanamh, ./float-0, agus is cosúil 1 arna roinnt 10 Is é 0.0. Anois, cén fáth go bhfuil seo? Bhuel arís, tá an ríomhaire ag glacadh dom literally, agus tá mé scríofa 1 agus scríofa mé 10, agus a chur ar buille faoi thuairim cad Is é an cineál sonraí a glacadh ar feadh na dhá luachanna? An slánuimhir, tá sé go teicniúil rud beag difriúil. Tá sé de ghnáth le fada, ach tá sé deireadh thiar luach lárnach. Gan luach snámhphointe. Cé acu is a rá go más rud é seo Is slánuimhir agus tá sé seo slánuimhir, Is é an fhadhb atá ann go an ríomhaire nach bhfuil an cumas a stóráil go fiú an bpointe sin de dheachúlacha. Mar sin, nuair a dhéanann tú 1 roinnte faoi ​​10 ag baint úsáide as slánuimhreacha do an t-uimhreoir agus an ainmneoir, ba cheart an freagra a bheith 0.1. Ach an computer-- mar gheall iad siúd atá integers-- Níl a fhios cad atá le déanamh leis an 0.1. Mar sin, cad bhfuil sé á dhéanamh go soiléir? Tá sé seo go díreach throwing sé ar shiúl, agus cad tá mé ag féachaint ar deireadh thiar Tá 0.0 ach amháin mar gheall go áitigh mé go printf a thaispeáint dom pointe deachúlach amháin. Ach tá an fhadhb atá ann go má tá tú roinnt slánuimhir ag slánuimhir, beidh tú get-- réir sainmhínithe ar C-- slánuimhir. Agus nach bhfuil sé ag dul a dhéanamh rud éigin deas agus conveniently mhaith bhabhta sé suas go dtí an gaire suas nó síos. Tá sé seo ag dul a theascadh gach rud i ndiaidh an dheachúlacha. Mar sin, ach intuitively, cad is dócha a shocrú? Cad é an shocrú simplí anseo? Yeah? Go díreach. Cén fáth nach bhfuil muid ag caitheamh ach na mar a Luachanna snámhphointe go héifeachtach ag casadh orthu i snámháin nó doubles. Agus anois má dhéanann liom a dhéanamh flótaí-0, nó má mé flótaí-1 a thiomsú, atá comhionann le cad a bhí molta díreach. Agus anois is féidir liom flótaí-0, anois a fháil mé mo 0.1. Anois tá sé seo iontach. Ach anois tá mé ag dul a dhéanamh rud beag difriúil. Tá mé fiosrach a fheiceáil cad atá i ndáiríre dul ar thíos an cochall, agus tá mé ag dul i gcló seo i gcrích go dtí 28 ionad de dheachúlacha. Ba mhaith liom a fheiceáil i ndáiríre 0.1000-- ar infinite-- [Inaudible] 27 nialais tar éis sin 0.1. Bhuel a ligean ar a fheiceáil más rud é go cad a dhéanfaidh mé a fháil go deimhin. Déan flótaí-0 comhad céanna. ./floats-0. A ligean ar zúmáil isteach ar an freagra drámaíochta. Gach an am seo, tá tú ag smaoineamh 1 arna roinnt 10 Is é 10%, nó 0.1. Níl sé. Ar a laghad chomh fada leis an ríomhaire i gceist. Anois why-- OK, sin iomlán Is bréag 1 arna roinnt 10 0.1. Ach why-- nach bhfuil an takeaway inniu. Mar sin, cén fáth nach smaoineamh ar an ríomhaire, murab ionann agus gach duine againn sa seomra, go 1 arna roinnt 10 Is iarbhír an luach dÚsachtach? Cad é an ríomhaire a dhéanamh cosúil? Cad é sin? Níl sé thar maoil, per se. Is Overflow de ghnáth nuair a leat wrap thart ar luach. Tá sé seo a eisiúint imprecision i luach snámhphointe áit a bhfuil tú ach 32 nó b'fhéidir fiú 64 giotán. Ach má tá tá teorainn líon na n-numbers-- fíor uimhreacha le pointí deachúil agus uimhreacha thereafter-- surely Ní féidir leat a ionadaíocht a dhéanamh ar fad iad. Mar sin, tá an ríomhaire a tugadh dúinn an cluiche is gaire leis an luach is féidir é ionadaíocht a dhéanamh ar úsáid a bhaint as go leor píosaí de luach is mian liom i ndáiríre, atá 0.1. Ar an drochuair, má tá tú tús a dhéanamh math, nó is féidir leat tús a bhaineann leis na cineálacha ar snámh luachanna phointe i programs-- tábhachtach bogearraí airgeadais, rud ar bith software-- míleata áit a bhfuil dearcadh is dócha tábhachtach go leor. Agus a thosaíonn tú ag cur uimhreacha mar seo, agus tús ag rith go bogearraí le hionchuir i ndáiríre mór nó le haghaidh go leor de na uair an chloig nó go leor laethanta nó go leor de na blianta, na botúin beag bídeach Is féidir a chur surely suas le himeacht ama. Anois, mar leataobh, má tá tú riamh le feiceáil Superman 3 nó Spás Oifige agus d'fhéadfadh tú a thabhairt chun cuimhne conas na guys ghoid a lán airgid as a n-ríomhaire trí úsáid a bhaint as luachanna snámhphointe agus ag cur suas an beag fuílleach, tá súil againn go scannán Déanann anois ciall níos mó. Is é seo a bhí siad alluding san scannán. Ós rud é go an chuid is mó Ní bheadh ​​cuideachtaí cuma tar éis roinnt áirithe na deachúil, ach tá na codáin de cent. Mar sin, dtosaíonn tú ag cur suas iad, dtosaíonn tú a dhéanamh ar a lán airgid i do chuntas bainc. Mar sin tá go mhínigh Spás Oifige. Anois, ar an drochuair níos faide Spás Oifige, tá Tá roinnt troubling go dlisteanach agus tionchair shuntasacha de na cineálacha cinntí a dearadh bunúsach, agus go deimhin ar cheann de na cúiseanna úsáidimid C i gcúrsa Is ionas go bhfuil tú i ndáiríre an talamh suas tuiscint ar conas a oibríonn ríomhairí, conas a oibríonn bogearraí, agus nach rud ar bith a ghlacadh maidir le deonú. Agus go deimhin ar an drochuair, fiú le go bhfuil tuiscint bhunúsach, táimid ag daoine botúin a dhéanamh. Agus cad a cheap mé gur mhaith liom a roinnt go bhfuil físeán ocht nóiméad a glacadh anseo ó eipeasóid Marvels Nua, a bhfuil seó oideachasúil ar conas a oibríonn rudaí go péinteanna dhá pictiúir de nuair a mí-úsáid as agus tuiscint ar Luachanna snámhphointe mar thoradh ar roinnt suntasach Torthaí trua. A ligean ar ghlacadh le breathnú. [VIDEO Archives] -Táimid Ar ais anois go dtí "Engineering Tubaistí "ar Marvels Nua. Ríomhairí. Táimid tar éis teacht ar fad chun glacadh leis an fadhbanna go minic frustrating go fuair le them-- bugs, víris, agus glitches-- bogearraí do phraghsanna beaga chun íoc as an áise. Ach i ardteicneolaíochta ard agus luas ard iarratais ar chlár spáis míleata agus, Is féidir an fhadhb is lú a magnified i tubaiste. Ar 4 Meith, 1996, eolaithe ullmhaithe a sheoladh gan fhoireann Ariane 5 roicéad. Bhí sé ag iompar eolaíoch satailítí atá deartha chun go beacht conas an Idirghníomhaíonn an réimse maighnéadach an Domhain le gaotha gréine. Tógadh an roicéad le haghaidh an Ghníomhaireacht Eorpach Spáis, agus thóg amach as a áis ar chósta na Guáin na Fraince. -Ag Thart ar 37 soicind isteach an eitilt, siad an chéad Bhí rud éigin faoi deara ag dul mícheart. Go raibh na soic swiveling ar bhealach siad nár chóir i ndáiríre. Timpeall 40 soicind isteach an eitilt, go soiléir go raibh an fheithicil i dtrioblóid, agus sin nuair a rinne siad an cinneadh go scriosadh é. An t-oifigeach sábháilteachta raon, le inní ollmhór, brúite an cnaipe agus blew suas an roicéad roimh d'fhéadfadh sé bheith ina guais do shábháilteacht an phobail. Ba so an inghean turas ar an 5 Ariane, agus thóg a scriosadh áit mar gheall ar an locht leabaithe i mbogearraí an roicéad ar. -Déanfar Fhadhb ar an Bhí Ariane go bhfuil Bhí roinnt a cheanglaítear 64 giotán a chur in iúl, agus bhí siad a thiontú sé le roinnt 16-giotán. Ghlac siad go bhfuil an líon bhí riamh ag dul a bheith an-mhór. Go mó de na digití i Bhí an uimhir 64-giotán nialais. Bhí siad mícheart. -Déanfar Neamhábaltacht amháin clár bogearraí chun glacadh ar an chineál uimhir a ghintear trí Ba eile ag an fhréamh an teip. Bhí bheith Forbairt Bogearraí Is cuid an-daor na teicneolaíochta nua. Bhí Ariane 4 roicéad an-rathúil. An méid sin de na bogearraí a cruthaíodh le haghaidh Bhí sé in úsáid freisin i Ariane 5. -Déanfar Fhadhb bhunúsach go raibh an Ariane 5. An raibh faster-- luathaithe níos tapúla, agus Ní raibh na bogearraí cuntas sin. -Déanfar Scrios an roicéad Bhí tubaiste airgeadais ollmhór. Gach mar gheall ar earráid bogearraí nóiméad. Ach ní raibh sé seo an chéad am fadhbanna a chomhshó sonraí Bhí plagued teicneolaíocht roicéad nua-aimseartha. -Sa 1991 leis an tús ar an gcéad Chogadh na Murascaille, an diúracán Patriot taithí de chineál dá samhail de fadhb uimhir chomhshó. Agus mar thoradh air 28 people-- 28 Maraíodh soldiers-- Mheiriceá, agus faoi céad daoine eile wounded. Nuair a bheidh an Patriot, bhí ceaptha a a chosaint i gcoinne Scuds ag teacht isteach, theip ar a tine diúracán. -Nuair Iaráic ionradh Cuáit, agus i Meiriceá Seoladh Storm Desert go luath 1991, Úsáideadh cadhnraí diúracán Patriot go dtí an Araib Shádach agus an Iosrael a chosaint ó hIaráice ionsaithe diúracán Caitear. Tá an Patriot US meán-raon dromchla go haer an chórais mhonaraigh an chuideachta Raytheon. -Déanfar Méid an Patriot idircheapóra itself-- tá sé thart ar thart ar 20 troigh ar fad, agus weighs sé thart ar 2,000 punt. Agus déanann sé warhead de thart ar, Sílim go bhfuil sé thart ar £ 150. Agus is é an warhead féin a pléascach ard, a Tá bloghanna timpeall air. Mar sin, is é an chásáil an warhead a ceapadh chun gníomhú mar grán trom. -Déantar Diúracáin déantar ceithre in aghaidh an coimeádán, agus a iompar leantóir leath. -Déanfar Córas Patriot frith-diúracán Téann siar ar a laghad 20 bliain anois. Bhí sé ceapadh ar dtús mar diúracán cosanta aer a shoot síos eitleáin namhaid. Sa chéad Chogadh na Murascaille nuair a tháinig an cogadh ar, an Airm ag iarraidh é a úsáid chun shoot síos Scuds, ní eitleáin. Ba é an hIaráice Air Force nach bhfuil an oiread sin ar fhadhb, ach bhí imní ar an Arm faoi Scuds. Agus mar sin rinne siad a uasghrádú an Patriot. -Intercepting Namhaid diúracán taisteal ar Mach 5 bhí ag dul a bheith dúshlánach go leor. Ach nuair a bheidh an Patriot Bhí rushed i mbun seirbhíse, Ní raibh an Arm ar an eolas faoi le modhnú hIaráice a a rinne a gcuid scuds beagnach dodhéanta dó. -Cad Tharla go bhfuil an Scuds go bhí ag teacht i bhí éagobhsaí. Bhí siad wobbly. An chúis atá leis seo bhí an Iraqis-- d'fhonn a fháil ar 600 ciliméadar amach raon 300-ciliméadar missile-- thóg meáchain as an warhead tosaigh, agus rinne an warhead níos éadroime. Mar sin, anois an Patriot a iarraidh le teacht ag an Caitear, agus an chuid is mó de na time-- an tromlach mór de na time-- bheadh ​​sé eitilt díreach ag an Caitear. -Nuair Na hoibreoirí córais Patriot thuig an Patriot chaill a sprioc, mhaidhmigh siad warhead an Patriot ar a sheachaint taismigh féideartha má Bhí cead ag titim go talamh. Bhí -is cad a chonaic daoine is mó mar fireballs mór sa spéir, agus misunderstood mar intercepts de warheads Caitear. -Although Sna spéartha oíche, Patriots an chuma a bheidh le scriosadh go rathúil Scuds, ag Dhahran d'fhéadfadh a bheith ann aon dearmad faoi a fheidhmíocht. Tá córas radar an Patriot ar rian a cailleadh de Caitear isteach agus ní a seoladh díreach le flaw bogearraí. Ba é an Israelis a fuair sé amach ar dtús go raibh an níos faide ar an gcóras ar, mó a tháinig an neamhréireacht am. Mar gheall ar a clog leabaithe i ríomhaire an chórais. -About Dhá sheachtain roimh an tragóid i Dhahran, na Israelis a tuairiscíodh don an Roinn Defense go raibh an córas a chailliúint am. Tar éis thart ar ocht n-uaire ag rith, thug siad go bhfuil an córas a bheith noticeably níos lú cruinn. D'fhreagair an Roinn Defense le ag insint gach ceann de na cadhnraí Patriot chun fág na córais ar feadh i bhfad. Ní Dúirt siad an méid a bhí le fada an lá. 8 uair an chloig, 10 uair an chloig, míle uair an chloig. Bhí a fhios ag aon duine. -Déanfar Ceallraí Patriot lonnaithe ag an dún ag Dhahran agus a lochtach inmheánacha Bhí clog curtha ar feadh níos mó ná 100 uair an chloig ar an oíche an 25 Feabhra. -Tá Rianú am le cruinneas de thart ar an deichiú cuid de shoicind. Anois, an deichiú cuid de an dara Tá líon spéisiúil toisc nach féidir é a chur in iúl i dénártha díreach, rud a ciallaíonn ní féidir é a chur in iúl go díreach in aon ríomhaire digiteach nua-aimseartha. Tá sé deacair a chreidiúint, ach seo a úsáid mar shampla. A ligean ar chur ar an uimhir amháin trian. Ní féidir le aon trian a bheith arna shloinneadh i dheachúlacha díreach. Is é ceann an tríú 0.333 dul ar aghaidh le Infinity. Níl aon bhealach chun é sin a dhéanamh leis an cruinneas iomlán i dheachúil. Sin é go díreach ar an chineál faidhbe gur tharla sa Patriot. An níos faide an córas ar siúl, an measa tháinig an earráid am. -Tar 100 uair an chloig de oibriú, an Bhí earráid i am ach thart ar aon trian ar an dara. Ach i dtéarmaí díriú ar diúracán taisteal ar Mach 5, Mar thoradh ar sé i rianú Earráid de níos mó ná 600 méadar. Bheadh ​​sé a bheith ina earráid marfach do na saighdiúirí ag Dhahran. Tharla -Cad é a bhí a sheoladh Caitear aimsithe ag satailítí luath-rabhaidh, agus bhí a fhios acu ina Caitear a bhí ag teacht ina treo ginearálta. Ní raibh a fhios acu nuair a bhí sé ag teacht. Bhí sé anois suas go dtí an radar chomhpháirt den chóras Patriot ag cosaint Dhahran a aimsiú agus a choinneáil súil a choinneáil ar an diúracán namhaid ag teacht isteach. Bhí -Déanfar radar an-chliste. Bheadh ​​sé a rianú i ndáiríre seasamh na Caitear agus ansin a thuar nuair a dócha go mbeadh sé an chéad uair eile an radar sheoladh buille amach. Bhí sin ar a dtugtar an geata raon. -ansin Uair an Patriot chinneann go bhfuil go leor ama ar aghaidh chun dul ar ais agus a sheiceáil an chéad cheann eile suíomh ar an réad a braitheadh Téann sé ar ais. Mar sin, nuair a chuaigh sé ar ais go dtí an mícheart áit, feiceann sé ansin aon rud. Agus gcinnfidh sé nach raibh aon rud. Go raibh bhrath bréagach agus titeann sé ar an mbóthar. -Déantar Caitear isteach imithe as an scáileán radar, agus soicind ina dhiaidh sin, tá sé slammed isteach sa bheairic. An Caitear maraíodh 28. Bhí sé an ceann deireanach fired le linn an chéad Chogadh na Murascaille. Go tragóideach, na bogearraí suas chun dáta tháinig ar breacadh an lae ar an lá dar gcionn. Bhí flaw bogearraí curtha seasta, a dhúnadh chaibidil amháin sa trioblóideacha stair na diúracáin Patriot. [END VIDEO Archives] DAVID J. MALAN: Sin é do CS50. Beidh muid a fheiceann tú ar an gCéadaoin. [Seinm ceoil]