[Powered by Google Translate] [Walkthrough - 2 Set Fadhb] [Zamyla Chan - Ollscoil Harvard] Is é [seo CS50. CS50.TV] Gach ceart. Dia duit, gach duine, agus fáilte a chur Walkthrough 2. Gcéad dul síos, ba mhaith liom comhghairdeas a ghabháil leat do chríochnú pset 1. Tá a fhios agam go bhféadfadh sé a bheith ina giotán diana do roinnt de tú, D'fhéadfadh bhí do chlár chéad ríomhaire a scríobh tú, ach cuimhnigh go díreach ag deireadh an seo, nuair a fhéachann tú ar ais ag deireadh an tseimeastair, beidh tú ag féachaint ar pset 1 agus go mbainfidh tú a rá, "Hey, is féidir liom a leithéid a dhéanamh i 5 nóiméad." Mar sin, tá a fhios agus muinín go bhfuil ag deireadh an beidh tú cinnte pset 1 simplí go leor. Ach do anois tá sé ina hIodáile ollmhór, agus comhghairdeachas le dul a dhéanamh. Anois, chomh maith le nóta mear sula bhfaigheann muid isteach an fheoil an walkthrough. Ba mhaith liom ach a dhéanamh nóta mear go bhfuil mé nach mbeidh uaireanta go leor ama le linn na walkthroughs dul trí gach bealach amháin a dhéanamh ar an tacar fhadhb agus in áit díreach ag díriú b'fhéidir ar 1 nó 2 de chineál ar implementations, bealaí gur féidir leat é seo a dhéanamh. Ach nach bhfuil sé sin le rá go bhfuil tú cosc ​​ó é a dhéanamh ar bhealach eile. Is minic, mar atá le eolaíocht ríomhaireachta, ar bhealaí iomadúla de rudaí a dhéanamh, agus mar sin is dóigh cinnte saor in aisce a úsáid le cineál éagsúla de réiteach ná mar is féidir liom a bheith i láthair. [Pset 2: Crypto - Zamyla Chan - zamyla@cs50.net] [Pset2 - 0. A Alt Ceisteanna - 1. Caesar - 2. Vigenere] Gach ceart. Mar sin, leagtar fhadhb 2: Crypto é ceann spraoi. Arís, le gach pset go mbainfidh tú tús a chur le cuid de na ceisteanna go ag dul a dhéanamh i do rannóga le do chomhbhaill teagaisc atá sannta dóibh. Nach bhfuil muid ag dul chun dul trí na thar an walkthrough, ach beidh siad cinnte cabhrú leat i gcrích an pset. Mar sin, tá an chéad chuid ar an tsraith fhadhb Caesar. Agus mar sin i Caesar beidh duine éiríonn leat eochair le slánuimhir, agus beidh tú Criptigh ar shraith de théacs a chuireann siad ar fáil duit agus a thabhairt ar ais an rud criptithe. Má faire duine ar bith A Scéal na Nollag, níl sampla de sin ann. Ansin tá an dara cuid den tsraith fhadhb Vigenere, atá ina teicníc criptithe níos airde. Agus mar sin táimid ag dul a encipher píosa téacs, ach amháin in áit le slánuimhir ach amháin, táimid ag dul i ndáiríre a ionchódú é le eochairfhocal go mbeidh an t-úsáideoir ar fáil dúinn. Maith go leor, mar sin tá an chéad uirlis sa lá atá inniu bosca uirlisí ag dul iarbhír a bheith cothrom le dáta an fearas. Ar an chlár plé ba mhaith linn rudaí a fheiceáil cosúil le, "Cén fáth nach bhfuil an obair seo?" "Cén fáth nach Cuir 50 obair?" agus is minic an réiteach iarbhír ach suas chun dáta do fearas. Agus mar sin má ritheann tú díreach i bhfuinneog teirminéil i do sudo fearas yum-y - go bhfuil bratach rá yes, cothrom le dáta gach rud - cothrom le dáta, ansin beidh do fearas thabhairt cothrom le dáta más gá. Agus nach ndéanann sé Gortaítear má tá tú cheana féin ar an leagan is déanaí den fearas. Ansin, beidh sé ach a rá nach nuashonruithe nua ar fáil agus is féidir leat leanúint ag obair chomh maith. Ach tá sé seo go maith chun a bhfeidhmeanna fiú gach uair a osclaíonn tú an fearas mar táimid fós go mór - uaireanta má thagann muid isteach a bug - shocrú i an fearas. Sin a dhéanamh cinnte go bhfuil tú an leagan is déanaí den fearas agus a reáchtáil go cothrom le dáta ann. Gach ceart. Mar sin, ós rud é tá muid ag déileáil le litreacha agus ag athrú, rudaí enciphering, táimid ag dul a iarraidh i ndáiríre a bheith cairde is fearr lenár chairt ASCII. Tá na cinn go leor ar líne, má fhaigheann tú. B'fhéidir fiú a dhéanamh do chuid féin. Go bunúsach, le gach litir agus gach uimhir agus gach carachtar tá roinnt a bhaineann leo, agus mar sin tá sé go maith chun a gcuid luachanna ASCII in éineacht leis an litir iarbhír. Beidh an cinnte cabhrú leat sa tsraith bhfadhb. Rud amháin gur chabhraigh go mór liom sa tacar fhadhb a bhí i gcló i ndáiríre sé amach, agus mar go raibh mé ag dul tríd, ba mhaith liom a tharraingt i ndáiríre ar sé, scríobh, "Má tá an dul chun ann, agus ansin ..." Cineál ar tharraingt air agus é a mharcáil suas, a bheith cairde is fearr le do tábla ASCII. Ansin tá cúpla uirlisí eile atá ar fáil dúinn. An uair seo in ionad na leideanna iarbhír an t-úsáideoir as a n-ionchur táimid ag dul a dhéanamh meascán. Táimid ag dul go spreagfaidh iad le haghaidh roinnt ionchuir, ach táimid ag dul freisin a úsáid ach an argóintí. Mar sin, nuair a ritheann siad a gcuid clár, de ghnáth deir tú. / Hello, mar shampla, má bhí do chlár hello.c. Ach an uair seo seachas díreach ag rá go, is féidir iad a chur focail, argóintí ina dhiaidh sin. Agus mar sin táimid ag dul a úsáid, pé pas siad i dúinn mar a n-ionchur, chomh maith, mar sin ag bogadh níos faide ná díreach leideanna le haghaidh slánuimhir ach freisin úsáid a bhaint as argóintí. Agus ansin beidh muid ag dul isteach eagair agus teaghráin, a beidh orainn a bheith ag baint úsáide as a lán chomh maith. Seo ach sampla de 1 chairt ASCII mion. Mar a dúirt mé, ag freagairt gach litir do roinnt, agus eolas sin féin leis sin. Beidh sé teacht i handy. Agus níos déanaí nuair a thosaíonn muid ag déanamh roinnt ASCIIMath ag déileáil le huimhreacha - a chur leis, dealú iad - ansin maith cinnte a tharchur chuig an gcairt. Mar sin tá anseo sampla de cipher Caesar - rud gur féidir leat a bhí leis. Tá sé ach roth. Go bunúsach, tá aibítir seachtrach agus ansin tá aibítir istigh. Mar sin, tá ceart anseo sampla den cipher Caesar ach le eochair 0. Go bunúsach, Tá ailíniú le A, B ailíniú le B, léir ar an mbealach suas go dtí Z. Ach rá ansin bhíomar ag iarraidh eochair de 3, mar shampla. Ansin, ba mhaith linn a rothlú an roth istigh ionas go aligns A anois le D, srl Agus mar sin tá sé seo go bunúsach cad tá muid ag dul a dhéanamh. Ní chuirimid bhfuil roth, ach cad táimid ag dul a dhéanamh ná ár gclár a dhéanamh de chineál ar aistriú an aibítir chomh maith le linn méid áirithe de uimhreacha. Mar sin, mar a dúirt mé cheana, táimid ag dul a bheith ag déileáil le argóintí chomh maith le dul slánuimhir. Mar sin, is é an bealach go mbeidh úsáideoirí a reáchtáil do Caesar clár ag rá. / Chaesar agus ag dul isteach ansin roinnt ina dhiaidh sin. Agus is ionann an líon sin an eochair, an t-aistriú, cé mhéad uair tú ag dul a bheith ag rothlach an roth istigh de do cipher Caesar. Agus mar sin a fheiceann tú anseo, mar shampla. Má tháinig muid na litreacha ó A go L inár cipher Caesar, ansin go mbeadh sé ionchur D trí O toisc go bhfuil gach litir bhog níos mó ná 3 huaire, díreach cosúil leis an sampla den roth gur thaispeáin mé duit. Mar sin, ansin, más rud iontráil tú, mar shampla, Is é seo CS50! ansin bheadh ​​sé bogadh freisin go léir na litreacha. Agus sin an rud is tábhachtaí i Caesar agus Vigenere is é sin táimid ag dul a skip thar aon litreacha neamh-. Mar sin, aon spásanna, carachtair, srl, uimhreacha, táimid ag dul chun iad a choinneáil mar an gcéanna. Táimid ag dul ach amháin a aistriú na litreacha sa chás seo. Mar sin, mar a fheiceann tú ar an roth, ní mór dúinn nach bhfuil ach na litreacha atá ar fáil dúinn, mar sin ba mhaith linn ach a athrú ar na litreacha agus na litreacha chriptiú. Mar sin, an chéad rud a dhéanamh, a chonaic tú a leagann an úsáid le haghaidh Caesar i fhadhb 2 Is é a reáchtáil Caesar agus ansin roinnt dul isteach nuair a ritheann tú é i gcríochfort. Mar sin, cad is gá dúinn a dhéanamh chun a fháil ar bhealach eochair agus é a rochtain. Agus mar sin ba mhaith linn a fheiceáil ar bhealach tá sé ag dul a bheith ar an argóint dara líne ordaithe. Is é an chéad cheann ag dul a bheith. / Chaesar, agus tá an ceann eile ag dul a bheith ar an líon eochair. Mar sin, sula raibh muid o príomh (neamhní) chun tús a chur ár gcláir C. Táimid ag dul go craiceann ar ais sraith le beagán agus a fheiceáil i ndáiríre go in ionad dul i neamhní ar ár phríomhfheidhm táimid ag déileáil i ndáiríre le 2 paraiméadair. Tá an slánuimhir ainmnithe argc agus ansin ar a dtugtar le sraith de teaghráin argv. Dá bhrí sin tá argc ina slánuimhir, agus léiríonn sé líon na n-argóintí a ritheadh ​​i do chlár. Agus ansin tá argv iarbhír an liosta de na hargóintí a rith. Tá gach ceann de na hargóintí teaghráin, agus mar sin ionann argv eagar, liosta, de teaghráin. Ligean ar labhairt faoi arrays le beagán. Tá arrays bunúsach struchtúr sonraí nua. Táimid ints a bheith acu, doubles ní mór dúinn, ní mór dúinn teaghráin a bheith acu, agus anois táimid arrays a bheith acu. Tá arrays struchtúir sonraí gur féidir a shealbhú luachanna éagsúla den chineál céanna, mar sin go bunúsach, tá liosta de is cuma cén cineál is mian leat. Go bunúsach, má bhí tú liosta de na slánuimhreacha go léir i 1 athróg, ansin ba mhaith leat a chruthú athróg nua a bhí eagar slánuimhir chineál. Mar sin, tá arrays náid-innéacsaithe, rud a chiallaíonn go bhfuil an chéad ghné den eagar ag innéacs 0. Má tá an sraith de fhad 4, mar atá sa sampla seo, ansin bheadh ​​do ghné dheireanach a bheith ag innéacs 3, bhfuil 4-1. Mar sin, eagar a chruthú, ba mhaith leat rud éigin a dhéanamh mar seo. Abair raibh tú ar raon dúbailte. Téann sé seo le haghaidh aon chineál de chineál sonraí, cé. Mar sin, a rá gur mian leat sraith dúbailte. Abair gur mian leat a ghlaoch air bosca poist. Díreach mar go mbeadh tú a thúsú aon dúbailte eile, Ba mhaith leat a rá dúbailte agus ansin an t-ainm, ach an uair seo againn a chur ar an lúibíní cearnacha, agus ansin an uimhir beidh fad an eagar. Tabhair faoi deara gur i arrays nach féidir linn a athrú riamh an fad, mar sin leat a bheith i gcónaí a shainiú agus a roghnú cé mhéad boscaí, cé mhéad luachanna a bhfuil do eagar ag dul a shealbhú. Mar sin, a shocrú luachanna difriúla i do eagar, agus tú ag dul a bhaint as an error seo a leanas, mar a fheiceann tú ar an sleamhnán. Beidh Tá tú 0 innéacs bosca poist a shocrú go 1.2, bosca poist innéacs 1 leagtha go 2.4, etc Mar sin anois go atá againn athbhreithniú arrays le beagán, a ligean ar dul ar ais chuig argc agus argv. Tá a fhios againn go bhfuil argv anois le sraith de teaghráin. Mar sin, nuair a ghabhann úsáideora - deir siad tá reáchtáil clár - deir siad. / dia duit David MALAN, cad a dhéanfaidh an clár a dhéanamh duit go bhfuil cheana féin teacht i ndáiríre suas le cad iad argc agus argv. Mar sin ní gá duit a bheith buartha faoi sin. Bheadh ​​Argc sa chás seo mar gheall ar 3 mheasann sé 3 focal ar leith scartha ag spásanna. Agus mar sin ansin an sraith sa chás seo, bheadh ​​an t-innéacs chéad. / Hello, an chéad cheann David, an chéad cheann eile amháin MALAN. An bhfuil aon duine a fheiceáil ceart ar shiúl cad é an gaol idir argv,  an raon, agus tá sé argc? Yeah. Beidh muid a fháil i go in shampla i args.c. A ligean ar féach an féidir linn leas a bhaint as an gcaidreamh idir an 2. Anseo d'fhéadfadh tú gur i an fearas an t-iarratas réamhshocraithe a oscailt. comhaid c uaireanta Emacs. Ach ba mhaith linn chun déileáil le gedit, mar sin cad is féidir leat a dhéanamh ná is féidir leat cliceáil ar dheis ar do chomhad C, téigh go dtí Properties, Open With, agus ansin gedit, Socraigh mar réamhshocrú a roghnú, agus anois ba chóir do chlár oscailt i gedit ionad Emacs. Perfect. Mar sin anseo tá mé clár gur mhaith liom a phriontáil amach gach argóint ar an líne ordaithe. Mar sin, is cuma cén t-úsáideoir ionchur, ba mhaith liom a thabhairt ar ais go bunúsach ar ais chucu ar líne nua. Mar sin, cad struchtúr gur féidir linn a úsáid chun iterate ar rud éigin - rud éigin a d'úsáid tú is dócha i do 1 pset? Más mian leat dul trí roinnt sraith de rudaí? >> [Mac léinn] Le haghaidh lúb. Le haghaidh lúb. Go díreach. Mar sin a ligean ar tús leis an do lúb. Tá do slánuimhir i = 0. Let tús díreach le athróg initialization caighdeánach. Tá mé ag dul a fhágáil ar an riocht do leagan síos agus ansin a rá i + +, ag dul chun rudaí a dhéanamh ann. Gach ceart. Mar sin, smaoineamh ar ais go dtí argv, más rud é argv an liosta de na hargóintí a ritheadh ​​i leis an gclár agus is é argc líon na hargóintí sa chlár, ansin ciallaíonn sé sin go bhfuil argc bunúsach fad argv, ar dheis, toisc go bhfuil ag dul a bheith mar argóintí go leor mar luach argc. Mar sin, más mian linn iterate thar gach gné i argv, táimid ag dul go dtí gur mian le gach uair rochtain a fháil ar an athróg i argv ag an innéacs ar leith. Is féidir sin a léiriú leis seo, ceart? Léiríonn an athróg anseo an teaghrán ar leith sa chás seo mar tá sé ina sraith téad - an teaghrán faoi leith ag an innéacs ar leith. Cad ba mhaith linn a dhéanamh, sa chás seo ba mhaith linn a phriontáil amach, mar sin a ligean le rá printf. Agus anois tá argv teaghrán, mar sin ba mhaith linn a chur go placeholder ann. Ba mhaith linn ar líne nua ach chun é a dhéanamh breathnú maith. Mar sin anseo tá muid lúb do. Ní chuirimid bhfuil an coinníoll go fóill. Mar sin, a thosaíonn mé ag 0, agus ansin gach uair tá sé ag dul i gcló an teaghrán a thugtar ag an innéacs leith sa eagar. Mar sin, nuair a dhéanann ba mhaith linn a stopadh a phriontáil amach eilimintí sa sraith? Nuair a againn críochnaithe, ceart? Nuair atá sroichte againn faoi dheireadh na eagar. Mar sin, nach bhfuil muid ag iarraidh a bheith níos mó ná an am atá caite fad an eagar, agus tá a fhios againn cheana féin ní mór dúinn a iarbhír a fháil go gníomhach amach cad é an fad argv toisc go bhfuil sé a tugadh dúinn, agus cad é sin? Argc. Go díreach. Mar sin, ba mhaith linn a dhéanamh ar líon argc próiseas na n-amanna. Níl mé ar an eolaire ceart. Gach ceart. Anois, a ligean a dhéanamh leis an rogha. Níl aon earráidí, rud atá iontach. Mar sin a ligean reáchtáil díreach leis an rogha. Cad é seo ag dul ar ais chugainn? Tá sé seo ag dul díreach a phriontáil ar ais. "Ionchur tú an rogha isteach sa chlár; Tá mé ag dul a thabhairt dó ar ais chugat." Mar sin a ligean le rá ba mhaith linn a thagair rá ansin foo bar. Mar sin, ansin priontaí sé amach ar ais chugainn. Gach ceart? Mar sin, tá sampla de conas is féidir leat úsáid a bhaint argc agus argv a fhios agam go argc ionann an fad argv. Bí cinnte go bhfuil tú riamh le rochtain eagair amháin níos faide ná an fad an eagar mar go mbeidh C shout cinnte ag tú. Feicfidh tú a fháil ar rud ar a dtugtar an locht deighilt, Riamh bhfuil spraoi, go bunúsach ag rá go bhfuil tú ag iarraidh rud éigin chun rochtain a nach bhfuil ann, nach mbaineann a thabhairt duit. Sin a dhéanamh cinnte, agus go háirithe leis an innéacsú náid-, nach bhfuil muid ag iarraidh a - Cosúil le mar shampla, má tá muid le sraith de fhad 4, nach 4 innéacs eagar ann mar gheall ar tús a chur orainn ag 0, ag náid innéacs. Beidh sé a bheith an dara cineál díreach mar do lúba nuair a thosaíonn muid ag 0. Mar sin a choinneáil go díreach i gcuimhne. Ní mian leat chun rochtain a riamh an t-innéacs ar eagar go thar do bhaint amach. Mar sin, is féidir linn a fheiceáil anois conas is féidir linn a de chineál ar rochtain na argóintí go bhfuil pas faighte isteach Ach mar a chonaic tú an teaghrán, tá an argv ndáiríre le sraith téad. Mar sin tá sé nach iarbhír slánuimhir go fóill, ach i Caesar ba mhaith linn chun déileáil le slánuimhreacha. Luckily, tá feidhm a cruthaíodh linn is féidir a thiontú i ndáiríre teaghrán slánuimhir. Chomh maith leis sin i anseo nach bhfuil muid ag déileáil le hionchur úsáideora nuair a bhíonn muid ag leideanna iad le haghaidh ionchuir anseo le haghaidh an eochair, mar sin ní féidir linn a reprompt i ndáiríre agus a rá, "Oh, a thabhairt dom eile slánuimhir, a rá, más rud é nach bhfuil sé bailí." Ach ná ní mór dúinn fós a sheiceáil le haghaidh úsáid ceart. I Caesar tá siad cead ach amháin chun pas a fháil i 1 líon, agus mar sin tá siad a reáchtáil. / chaesar agus ansin tá siad a thabhairt duit roinnt. Mar sin, tá argc a bheith ina uimhir áirithe. Cén uimhir a bheith go má tá siad chun pas a fháil duit. / Chaesar agus ansin eochair? Cad é argc? >> [Mac léinn] 2. >> Dó. Go díreach. Mar sin, ba mhaith leat a dhéanamh cinnte go bhfuil argc 2. Seachas sin agat diúltú go bunúsach a reáchtáil ar an gclár. I príomh-tá sé ina fheidhm a deir slánuimhir is mó, mar sin ansin dúinn i gcónaí i 0 dea-chleachtais ar ais ag deireadh an chláir rathúil. Mar sin, más rud é, abair, a thugann siad duit 3 argóintí in ionad 2 nó a thabhairt duit 1, mar shampla, ansin cad beidh tú a dhéanamh ná beidh tú ag iarraidh a sheiceáil le haghaidh sin agus ansin ar ais 1 rá, ní hea, ní féidir liom dul ar aghaidh leis an gclár seo. [Mac léinn] Ní féidir a bheith ann spás i do téacs. >> Logh dom? [Mac léinn] Ní féidir a bheith ann spás sa téacs a bhfuil tú ag iarraidh a chriptiú. Ah! I dtéarmaí an téacs go bhfuil muid ag iarraidh a chriptiú, a thagann go hiarbhír déanaí nuair a thabhairt dúinn an téacs. Mar sin, ceart anois táimid ag glacadh díreach mar argóintí gceannas ar an líon iarbhír, an t-athrú iarbhír don criptithe Caesar. [Mac léinn] Cén fáth a bhfuil gá duit 2 i gcomparáid le díreach 1 argc? Níl cinnte uimhir 1. Ceart. An fáth ní mór dúinn 2 le haghaidh argc in ionad 1 Is mar nuair a ritheann tú ar chlár agus a rá. / chaesar nó. / hello, a chomhaireamh i ndáiríre mar argóint ar an líne ordaithe. Mar sin, ansin a thógann go cheana féin suas 1 agus mar sin ansin tá muid ag ionchur 1 breise. Mar sin, tá tú ag ionchur i ndáiríre ar shraith san argóint-orduithe. Cad ba mhaith leat a dhéanamh, le haghaidh Caesar ba mhaith linn chun déileáil le slánuimhir, ionas gur féidir leat úsáid a bhaint as an fheidhm seo atoi. Agus go bunúsach, tá tú pas a fháil sé i sreang agus ansin beidh tú ar ais é ar ais slánuimhir má tá sé féidir a dhéanamh go téad isteach slánuimhir. Anois cuimhneamh nuair a bhíonn muid ag déileáil le rudaí printf nó GetString, mar sin, I measc againn ar an leabharlann a bhaineann go sonrach a chur chugainn. Mar sin, ag an tús tús a chur againn le tag caighdeán rud éigin hash I / O,. H, mar sin. Bhuel, nach bhfuil atoi laistigh de cheann de na leabharlanna, mar sin tá cad atá againn a dhéanamh ní mór dúinn a chur san áireamh an leabharlann ceart as sin. Mar sin, cuimhneamh ar ais go dtí Walkthrough 1 nuair a phléigh mé an fheidhm láimhe. Scríobhann tú fear i do chríochfort agus ansin leanúint ag an ainm na feidhme. Agus mar sin a thabhairt suas liosta iomlán de a úsáid, ach chomh maith go mbeidh sé a thabhairt suas a leabharlann mbaineann sin le. Mar sin, beidh mé a fhágáil chun tú a úsáid a bhaint as an fheidhm láimhe le atoi agus figiúr amach a bhfuil leabharlann is gá duit a chur san áireamh a bheith in ann úsáid a bhaint as an fheidhm atoi. Mar sin, tá muid fuair an eochair agus anois a thagann sé chun dul ar an gnáth-théacs, agus mar sin go bhfuil i ndáiríre ag dul a bheith ionchur úsáideora áit a bhfuil tú go pras. Déileáil muid le GetInt agus GetFloat, agus mar sin sa vein céanna táimid ag dul a bheith ag déileáil le GetString. Ach sa chás seo ní mór dúinn a dhéanamh ar aon a dhéanamh agus nó le linn lúb a sheiceáil. Beidh GetString cinnte a thabhairt dúinn ar shraith, agus táimid ag dul a chriptiú cibé thugann an t-úsáideoir dúinn. Mar sin, is féidir leat glacadh leis go bhfuil gach ceann de na teaghráin úsáideora ionchuirtear ceart. Great. Mar sin, ansin nuair atá tú fuair an eochair agus nuair atá tú fuair an téacs, anois cad atá fágtha a bhfuil tú a encipher an plaintext. Just a chlúdach go tapa thar lingo, is é an plaintext cad a thugann an t-úsáideoir agat, agus is é an ciphertext cad a fhilleann tú a thabhairt dóibh. Mar sin, teaghráin, a bheith in ann dul tríd iarbhír litir trí litir toisc go bhfuil muid a bhogadh gach litir, tuigimid go teaghráin, más rud é de chineál muid craiceann ciseal ar ais ar an, feicimid go bhfuil siad ach i ndáiríre liosta de na carachtair. Tagann ceann i ndiaidh a chéile. Agus mar sin is féidir linn déileáil le teaghráin mar arrays mar go bhfuil siad arrays de charachtair. Mar sin, a rá go bhfuil tú teaghrán ainmnithe téacs, agus laistigh den téacs athróg stóráil Is é seo CS50. Ansin, ba mhaith téacs ar innéacs 0 a bheith ina T caipitil, a bheadh ​​innéacs 1 h, etc Agus ansin le arrays, sa sampla argc i args.c, chonaic muid go raibh muid a iterate thar raon agus mar sin bhí againn le iterate as i = 0 suas go dtí go bhfuil mé níos lú ná an fad. Mar sin, ní mór dúinn ar bhealach éigin de figuring amach cad é an fad ar ár téad má táimid ag dul a iterate níos mó ná é. Luckily arís, tá feidhm ann dúinn, cé go níos déanaí i CS50 beidh tú cinnte in ann a chur chun feidhme agus a dhéanamh do fheidhm féin is féidir a ríomh an fad de théad. Ach do anois táimid ag dul a úsáid fad téad, agus mar sin strlen. Pas tú i téad, agus ansin beidh sé ar ais tú slánuimhir gur ionann an fad do teaghrán. Ligean ar breathnú ar shampla de conas a d'fhéadfaí linn a bheith in ann a iterate thar gach carachtar i teaghrán agus rud éigin a dhéanamh leis sin. Cad ba mhaith linn a dhéanamh ná iterate thar gach carachtar an teaghrán, agus tá sé cad ba mhaith linn a dhéanamh linn a phriontáil ar ais gach carachtar 1 de 1 ach amháin againn a chur rud éigin aice leis. Mar sin a ligean ar tús leis an do lúb. Int i = 0. Táimid ag dul spás a fhágáil as an riocht. Is mian linn a iterate go dtí go sroichfidh muid an deireadh an teaghráin, ceart? Mar sin, ansin Tugann cén fheidhm dúinn an fad na sreinge? [Fhreagra mac léinn inaudible] Sin fad na argóintí. Ach ar theaghrán ba mhaith linn úsáid a bhaint as feidhm a thugann dúinn an fad na sreinge. Mar sin, chomh fada téad. Agus mar sin ansin caithfidh tú chun pas a fháil i ar shraith leis. Caithfidh sé a fháil amach cad teaghrán ní mór é a ríomh an fad. Mar sin, ansin sa chás seo táimid ag déileáil le téad s. Great. Mar sin, ansin cad ba mhaith linn a dhéanamh, a ligean ar printf. Anois, ba mhaith linn chun déileáil le carachtair. Is mian linn a phriontáil amach gach carachtar ar leith. Nuair is mian leat é a phriontáil amach snámhphointe, ba mhaith leat a bhaint as an placeholder mhaith f%. Le o ba mhaith leat é a úsáid d%. Agus mar sin mar an gcéanna, le carachtar a úsáideann tú c% a rá tá mé ag dul a bheith ag priontáil ar charachtar go s stóráilte taobh istigh de athróg. Mar sin, ní mór dúinn seo, agus a ligean ar chur ar feadh tréimhse agus spás dó. Cén carachtar ag baint úsáide as againn? Táimid ag dul a bheith ag baint úsáide as cibé carachtar táimid ag na sreinge. Mar sin, ansin táimid ag dul a bheith ag baint úsáide rud éigin le corda, ach ba mhaith linn a bheith rochtain a fháil ar an carachtar áirithe ann. Mar sin, má tá teaghrán díreach le sraith, ansin conas is féidir linn rochtain a fháil ar eilimintí de arrays? Tá na lúibíní cearnacha, agus ansin chuir muid an t-innéacs i ann. Mar sin, ní mór dúinn lúibíní cearnacha. Ár innéacs sa chás seo is féidir linn a úsáid ach i. Go díreach. Mar sin anseo táimid ag rá táimid ag dul a bheith ag priontáil ar charachtar ina dhiaidh sin ag ponc agus spás, agus go carachtar ag dul a bheith an litir sháith inár s teaghrán. Tá mé ag dul díreach tar éis a shábháil go. Maith go leor. Anois tá mé ag dul a reáchtáil fad teaghrán. Mar sin, bhí againn ar shraith ar a dtugtar OMG, agus anois tá sé béim ar fiú níos mó. Mar an gcéanna, a ligean le rá ba mhaith linn i ndáiríre a fháil ar teaghrán ón úsáideoir. Conas a d'fhéadfadh muid é seo a dhéanamh? Roimhe sin, conas a rinne muid a fháil o? Dúirt muid GetInt, ceart? Ach nach bhfuil sé seo slánuimhir, mar sin a ligean GetString. Déanaimis fad teaghrán. Anseo nach raibh againn dul isteach i go pras ar leith. Mar sin, níl a fhios agam. Tá mé ag dul a chur ar mo ainm i anseo agus mar sin ansin is féidir liom a dhéanamh ar cheann de na rudaí nuair a shannadh mé focal do gach litir nó rud éigin mar sin. Cool. Mar sin, chomh fada téad. Mar sin, tá muid ar ais go dtí Caesar. Tá cúpla uirlisí ar conas a iterate thar téad, conas rochtain a fháil ar gach gné ar leith. Mar sin, anois is féidir linn dul ar ais ar an gclár. Mar a luaigh mé cheana, sa tábla ASCII, do chara is fearr, bhfuil tú ag dul a fheiceáil ar an líon a bhaineann le gach litir. Mar sin, a rá anseo go bhfuil ár plaintext mé dizzy! Ansin, tá gach ceann de na carachtair ag dul go bhfuil líon agus luach ASCII a bhaineann leis, fiú an apostrophe, fiú an spás, fiú an marc exclamation, ionas go mbainfidh tú ag iarraidh a choinneáil sin san áireamh. Mar sin, a rá ár n-eochair go bhfuil an t-úsáideoir san áireamh ina argóint ar an líne ordaithe 6. Ciallaíonn sé sin don chéad litir, a bhfuil mé, a bhfuil ionadaíocht ag 73, ba mhaith leat a thabhairt ar ais dóibh cibé litir arb ionannas dó an luach ASCII 73 + 6. Sa chás seo bheadh ​​go 79. Anois, ba mhaith linn dul go dtí an chéad charachtar. Mar sin, bheadh ​​an chéad cheann eile i innéacs 1 den plaintext an apostrophe. Ach cuimhnigh, ba mhaith linn ach amháin maidir le encipher na litreacha. Mar sin, ba mhaith linn a dhéanamh cinnte go bhfanann an apostrophe iarbhír mar an gcéanna, nach bhfuil muid a athrú ó 39 go 45 is cuma cad é. Ba mhaith linn é a choinneáil mar apostrophe. Mar sin, ba mhaith linn a mheabhrú go encipher ach na litreacha mar ba mhaith linn gach ceann de na siombailí eile a fhanann gan athrú sa ár gclár. Tá rud eile gur mhaith linn caipitlithe a chaomhnú. Mar sin, nuair a tá tú litir chás uachtair, ba chóir é fanacht mar chás uachtair. Ba chóir litreacha beaga fanacht mar CásÍochtair. Mar sin, roinnt feidhmeanna úsáideach a bheith in ann déileáil le litreacha amháin enciphering agus a choinneáil ar chaomhnú an caipitlithe de na rudaí Is é na feidhmeanna islower isalpha, isupper,. Agus mar sin go bhfuil na feidhmeanna a fhilleann tú ar luach Boole. Go bunúsach, fíor nó bréagach. An é seo an cás uachtair? An bhfuil an alfa-uimhriúla? An bhfuil an litir, go bunúsach. Mar sin, tá anseo 3 shampla de conas a d'úsáidfeá an fheidhm sin. Go bunúsach, is féidir leat tástáil a dhéanamh ar cé acu ar ais ar an luach a thabhairt duit ag an bhfeidhm sin fíor nó bréagach bunaithe ar an ionchur. Ceachtar tú rud éigin nach encipher nó cipher sé nó a dhéanamh cinnte go bhfuil sé chás uachtair, srl [Mac léinn] An féidir leat a mhíniú ach iad siúd beagán níos mó agus conas a úsáideann tú iad? >> Yeah, cinnte. Mar sin, má táimid ar ais, anseo ní mór dúinn a caipiteal is féidir liom, ceart? Mar sin, tá a fhios againn go dtéann mé O toisc go bhfuil mé + 6 O. Ach ba mhaith linn a dhéanamh cinnte go bhfuil O dul chun bheith ina O. caipitil Sin, go bunúsach, is é sin de chineál ar dul chun athrú ár n-ionchur. Mar sin, cibé acu is chás uachtair nó ní bheidh de chineál ar athrú ar an mbealach a bhíonn ag déileáil linn leis. Mar sin, ansin má úsáidimid an fheidhm isupper ar an innéacs, go háirithe, mar sin isupper ("I"), go bhfilleann an dúinn fíor, mar sin tá a fhios againn go bhfuil sé uachtair. Mar sin, ansin bunaithe ar sin, ina dhiaidh sin beidh muid ag dul isteach foirmle go mbainfidh tú a bheith ag baint úsáide as chun rudaí a athrú i Caesar, sin ansin go bunúsach, tá go bhfuil dul chun bheith ina foirmle beagán éagsúil má tá sé chás uachtair seachas dtí an cás íochtair. Ciall a bhaint as? Yeah. Uimh imní. Labhair mé le beagán faoi cur 6 do litir, nach bhfágann go mbeadh go leor ciall ach amháin nuair a chineál a thuiscint go bhfuil na carachtair Tá de chineál ar idirmhalartaithe le slánuimhreacha. Céard a dhéanaimid é muid de chineál ar réitigh úsáide intuigthe. Beidh muid ag dul isteach i réitigh le beagán níos déanaí ar an áit leat a chur ar luach agus sé seal tú isteach i chineál éagsúla ná mar a bhí sé ar dtús. Ach leis an pset beidh muid in ann de chineál ar úsáid hidirmhalartaithe carachtair agus a luachanna slánuimhir comhfhreagracha. Mar sin, má tá tú encase ach carachtar a bhfuil ach na comharthaí athfhriotail aonair, ansin beidh tú in ann a bheith ag obair leis le slánuimhreacha, ag déileáil le sé mar slánuimhir. Mar sin, go mbaineann an C caipitil go dtí 67. Baineann f beaga go 102. Arís, más mian leat a fhios ag na luachanna, ag féachaint ar do tábla ASCII. Mar sin a ligean dul isteach roinnt samplaí de conas a d'fhéadfaí tú in ann a dhealú agus a chur leis, conas is féidir leat i ndáiríre ag obair i ndáiríre leis na carachtair, iad a úsáid hidirmhalartaithe. Rá liom go bhfuil ASCIIMath ag dul go dtí an Chomh maith le carachtar a ríomh le slánuimhir agus léiríonn ansin an carachtar mar thoradh chomh maith leis an luach dá bharr ASCII. Agus mar sin anseo mé ag rá - déileáil we'll leis an chuid seo níos déanaí - ach go bunúsach, tá mé ag rá gur chóir go mbeadh an t-úsáideoir a rá ASCIIMath reáchtáil chomh maith le príomh-, agus tá mé ag rá go bhfuil an eochair ag dul a bheith ar an líon a táimid ag dul a chur carachtar seo. Mar sin, faoi deara anseo go bhfuil ós rud é tá mé ag éileamh eochair, ós rud é tá mé ag éileamh go bhfuil siad a thabhairt dom 1 rud, Ba mhaith liom ach glacadh leis. / Asciimath agus eochair. Mar sin, tá mé ag dul a éileamh go bhfuil argc cothrom le 2. Más rud é nach bhfuil sé, ansin tá mé ag dul a thabhairt ar ais 1 agus beidh an clár scoir. Mar sin, mé ag rá nach bhfuil an eochair ag dul a bheith an argóint chéad líne orduithe, tá sé ag dul a bheith ar an dara ceann, agus mar a fheiceann tú anseo, Tá mé ag dul chun dul go isteach slánuimhir. Ansin mé ag dul a shocrú le carachtar a bheith r. Fógra go bhfuil an cineál an Chr athróg iarbhír slánuimhir. Is é an bealach go bhfuil mé in ann r a úsáid mar slánuimhir ag encasing sé leis na comharthaí athfhriotail singil. Mar sin, ar ais go dtí ár ráiteas printf nuair a ní mór dúinn a placeholder do charachtar agus ansin placeholder do slánuimhir, Is é an carachtar ionadaíocht ag an Chr, agus is é an tslánuimhir is an eochair. Agus mar sin ansin táimid ag dul i toradh a chur ar an 2 le chéile. Mar sin, táimid ag dul a chur r + is cuma cad é an eochair, agus ansin táimid ag dul i gcló mar thoradh ar sin. Mar sin a ligean a dhéanamh asciimath. Tá sé suas chun dáta, mar sin a ligean reáchtáil díreach asciimath. Oh, ach féach, ní chuireann sé aon rud a dhéanamh toisc nach raibh a thabhairt dúinn i ndáiríre é eochair. Mar sin, nuair a d'fhill sé ach 1, ár bhfeidhm is mó, ar ais sé ach ar ais chugainn. Mar sin a ligean ansin ar aghaidh i eochair. D'iarr duine éigin a thabhairt dom roinnt. >> [Mac léinn] 4. 4. Maith go leor. Mar sin, mhéadaigh r de 4 ag dul a thabhairt dúinn v, a fhreagraíonn don luach ASCII de 118. Mar sin, ansin déanann sé de chineál ar chiall sin - I ndáiríre, an féidir liom a iarraidh ort, cad a cheapann tú go bhfuil an luach ASCII r más rud é r + 4 118? Ansin yeah, tá r 114. Mar sin, má fhéachann tú ar an tábla ASCII ansin, ceart go leor, feicfidh tú go bhfuil r ionadaíocht ag 114. Mar sin anois go bhfuil a fhios againn gur féidir linn slánuimhreacha a chur le carachtair, is cosúil seo simplí go leor. Táimid ag dul díreach a iterate thar teaghrán mar a chonaic muid i sampla roimhe seo. Beidh muid seiceáil má tá sé ina litir. Má tá sé, ansin beidh muid ag aistriú dó leis is cuma cad é an eochair. Simplí go leor, ach amháin nuair a gheobhaidh tú a mar seo, fheiceann tú go z, arna ionadú ag 122, bheadh ​​ansin a thabhairt duit de chineál éagsúla. Ba mhaith linn i ndáiríre chun fanacht laistigh dár aibítir, ceart? Mar sin, is gá dúinn a figiúr amach ar bhealach éigin de chineál ar timfhilleadh timpeall. Nuair a shroicheann tú Zed agus is mian leat a mhéadú faoi líon áirithe, nach bhfuil tú ag iarraidh dul isteach níos faide ná an t-alt aibítir ASCII; mian leat a Timfhilleadh ar ais go léir ar an mbealach chun A. Ach a choinneáil i gcuimhne go bhfuil tú ag a chaomhnú atá an cás fós. Mar sin, ní féidir a bheith a fhios agam go litreacha siombailí nach bhfuil díreach cosúil le siombailí ag dul a bheith ag athrú chomh maith. Sa pset deireanach tú cinnte nach raibh gá le, ach bhí an rogha a chur i bhfeidhm do pset greedy ag baint úsáide as an fheidhm modal. Ach anois táimid ag dul i ndáiríre go mór chun modal a úsáid, mar sin a ligean ar dul díreach os cionn an beagán beag. Go bunúsach, nuair a tá tú x modulo y, a thugann tú an chuid eile de x roinnte y. Seo a leanas roinnt samplaí anseo. Tá 27% 15. Go bunúsach, nuair a dhéanann tú Dealaigh 15 ó 27 mar a mhéad uair is féidir gan ag fáil diúltach ansin a gheobhaidh tú 12 chlé os a chionn. Mar sin, go bhfuil cineál cosúil i gcomhthéacs math, ach conas is féidir linn a úsáid seo? Tá sé seo ag dul a bheith úsáideach le haghaidh ár wrapover. Mar sin, a ligean ach a rá iarr mé leat go léir a roinnt i 3 ghrúpa. Uaireanta dhéanann tú é seo i ngrúpaí agus rud éigin mar sin. Abair dúirt mé, "Maith go leor, ba mhaith liom tú go léir a bheith roinnte i 3." Cén chaoi a bhféadfaí tú a dhéanamh? [Fhreagra mac léinn inaudible] Yeah, go díreach. Líon amach. Maith go leor. Déanaimis a dhéanamh i ndáiríre go. Ar mhaith leat a thosú? [Mic léinn a chomhaireamh amach] 1, 2, 3, 4. Ach cuimhnigh ... >> [Mac léinn] Oh, tá brón orainn. Sin pointe maith i ndáiríre. Dúirt tú 4, ach ba mhaith linn i ndáiríre leat a rá 1 mar ba mhaith linn ach 3 ghrúpa. Mar sin, ansin, conas - Uimh, go bhfuil sampla gur maith mar gheall ar ansin d'fhéadfadh conas leat a rá 1? Cad é an gaol idir 4 agus 1? Bhuel, tá 4 mod 3 1. Mar sin, má leanann tú, go mbeadh tú 2. Mar sin, ní mór dúinn 1, 2, 3, 1, 2. Arís, tá tú i ndáiríre ar an duine 5. Cén chaoi a bhfuil a fhios agat a rá 2 in ionad 5? Deir tú go bhfuil 5 mod 3 2. Ba mhaith liom a fheiceáil conas a lán grúpaí de 3 atá fágtha os a chionn, ansin tá an t-ordú I. Agus mar sin ansin, má leanamar ar feadh an seomra ar fad, ansin ba mhaith linn a fheiceáil go bhfuil muid i gcónaí ar chur i bhfeidhm iarbhír an fheidhm mod chun muid féin le de chineál ar comhaireamh ar ceal. Sin de chineál níos mó de shampla inláimhsithe de conas a d'fhéadfadh leat é a úsáid modulo mar tá mé cinnte go bhfuil an chuid is mó de dúinn imithe is dócha tríd an bpróiseas nuair a tá muid go raibh a chomhaireamh as. Ceisteanna ar bith ar modulo? Beidh sé deas tábhachtach a thuiscint na coincheapa seo, mar sin ba mhaith liom a dhéanamh cinnte go bhfuil tú guys a thuiscint. [Mac léinn] Mura bhfuil aon chuid eile, a dhéanann sé a thabhairt duit ar an líon iarbhír? Má bhí déanta ar cheann de na chéad 3 acu é, a bheadh ​​sé a thabhairt dóibh cad a bhí siad i ndáiríre, nó go mbeadh sé tugtha dóibh [inaudible] >> Sin ceist mhaith. Nuair nach bhfuil aon chuid eile don modulo - mar sin a rá go bhfuil tú 6 mod 3 - go dtugann tú i ndáiríre ar ais 0. Beidh muid labhairt faoi sin le beagán níos déanaí. Oh yeah, mar shampla, an duine 3rd - tá 3 mod 3 iarbhír 0 ach dúirt sí 3. Mar sin, go bhfuil cineál cosúil le ghabháil istigh, mar shampla, cosúil le ceart go leor, má tá an mod 0 ansin tá mé ag dul a bheith ar an duine 3. Ach beidh muid ag dul isteach de chineál ar conas a d'fhéadfadh muid ag iarraidh chun déileáil leis an méid atá 0 déanaí. Mar sin, anois ní mór dúinn ar bhealach ar bhealach ar mhapáil an Zed leis an litir ceart. Mar sin, anois tá muid imithe tríd na samplaí, againn de chineál ar a fheiceáil conas a d'fhéadfadh Caesar obair. Féach leat an 2 alphabets agus ansin a fheiceann tú a aistriú dóibh. Mar sin a ligean iarracht a dhéanamh agus a chur in iúl i dtéarmaí foirmle. Tá an foirmle a thugtar i ndáiríre a thabhairt duit ar an spec, ach cineál a ligean ar breathnú tríd cad a chiallaíonn gach athraitheach. Is é ár toradh deiridh ag dul a bheith ar an ciphertext. Mar sin, deir seo go bhfuil an carachtar sháith an ciphertext ag dul a fhreagraíonn do charachtar sháith an plaintext. Sin a dhéanann ciall mar ba mhaith linn a bheith i gcónaí líneáil na rudaí seo suas. Mar sin, tá sé ag dul a bheith ar an carachtar sháith den móide ciphertext k, a bhfuil ár eochair - bhfuil ciall leis - agus ansin ní mór dúinn an mod 26. Cuimhnigh ar ais nuair a bhí againn an Zed Ní raibh muid ag iarraidh a fháil isteach an carachtar, agus mar sin bhíomar ag iarraidh a mod é agus de chineál ar timfhillteach an aibítir. Tar éis Zed mhaith leat dul chuig a, b, c, d, go dtí go bhfuair tú go dtí an uimhir ceart. Mar sin, tá a fhios againn go Zed, más rud é + 6 a bheadh, a thabhairt dúinn f mar tar éis a thagann Zed a, b, c, d, e, f. Mar sin a ligean cuimhin tá a fhios againn do cinnte go bhfuil Zed + 6 ag dul a thabhairt dúinn f. I luachanna ASCII, tá z 122 agus f 102. Mar sin, ní mór dúinn a fháil ar bhealach éigin a dhéanamh ar ár Caesar foirmle a thabhairt dúinn 102 tar éis cur i 122. Mar sin, má táimid i bhfeidhm go díreach fhoirmle seo, an% ('z' + 6) 26, a thugann tú i ndáiríre 24 toisc go bhfuil 122 + 6 128; tugann 128% 26 tú 24 fágtha. Ach ní chiallaíonn sin gur f. Sin nach bhfuil cinnte 102. Sin nach bhfuil chomh maith leis an litir 6ú in aibítir. Mar sin, ar ndóigh, ní mór dúinn a bheith ar bhealach éigin de tweaking seo beagán beag. I dtéarmaí an aibítir rialta, tá a fhios againn go bhfuil z an litir 26ú agus f tá an 6ú. Ach tá muid in eolaíocht ríomhaireachta, mar sin táimid ag dul chun innéacs ag 0. Mar sin, ansin, in ionad z a bheith ar an uimhir 26, táimid ag dul a rá tá sé líon 25 toisc go bhfuil 0. Mar sin a ligean anois ar seo i bhfeidhm fhoirmle. Tá z ionadaíocht ag 25 + 6, a thugann tú 31. Agus tugann 31 mod 26 tú 5 mar chuid eile. Sin iontach mar tá a fhios againn go bhfuil f an litir 5 in aibítir. Ach nach bhfuil sé fós f, ceart? Tá sé fós 102. Mar sin, ansin ar an pset, beidh dúshlán a bheith ag iarraidh a fháil amach an caidreamh idir athrú idir na luachanna ASCII agus an t-innéacs aibítre. Go bunúsach, cad beidh tú ag iarraidh a dhéanamh, ba mhaith leat tús a chur amach leis na luachanna ASCII, ach ansin ba mhaith leat a aistriú ar bhealach gur i innéacs aibítre ansin a ríomh cén litir chóir é a bheith - go bunúsach, cad é a aibítre innéacs de charachtar cipher - aistriú ansin ar ais go dtí na luachanna ASCII. Mar sin, má tá tú fuip amach do tábla ASCII, déan iarracht ansin agus caidrimh idir teacht ar, a rá, 102 agus 5 nó 122 agus 25. Táimid tar éis gotten ár eochair ó argóintí, tá muid gotten an plaintext, againn enciphered é. Anois go léir is againn ar chlé a dhéanamh phriontáil. D'fhéadfadh muid a dhéanamh cúpla bealaí éagsúla. Cad a d'fhéadfadh muid a dhéanamh ná a phriontáil ndáiríre mar a théann muid chomh maith. Agus muid ag iterate thar na carachtair sa teaghrán, d'fhéadfadh muid go simplí a phriontáil díreach i gceart ansin nuair a ríomh é. Nó, d'fhéadfaí tú a stóráil freisin i sraith agus sraith de charachtair a bheith agus ag an deireadh abair leo thar an sraith iomlán agus í a phriontáil amach. Mar sin, tá tú cúpla roghanna le haghaidh sin. Agus cuimhnigh go bhfuil% c dul go dtí an placeholder le haghaidh priontála carachtar. Mar sin, tá muid ag Caesar, agus anois táimid ag bogadh ar aghaidh go Vigenere, atá an-chosúil leis Caesar ach amháin beagán níos casta. Mar sin, go bunúsach le Vigenere bhfuil tú ag dul a bheith ag dul i eochairfhocal. Mar sin, in ionad uimhir, agus tú ag dul a bheith acu ar shraith, agus mar sin tá go bhfuil dul chun gníomhú mar do eochairfhocal. Ansin, mar is gnách, tá tú ag dul a fháil go pras ar theaghrán ón úsáideoir agus encipher ansin é agus ansin a thabhairt ar ais ciphertext leo. Mar sin, mar a dúirt mé, tá sé an-chosúil le Caesar, ach amháin in ionad aistriú ag líon áirithe, Is é an líon ag dul i ndáiríre go gach uair a athrú ó charachtar le carachtar. Ionadaíocht a dhéanamh go bhfuil uimhir iarbhír a athrú, tá sé ionadaíocht ag na litreacha méarchlár. Mar sin, má théann tú isteach i athrú de, mar shampla, ansin bheadh ​​a fhreagraíonn don athrú de 0. Mar sin tá sé arís ar ais go dtí an t-innéacs aibítre. Cad a bheith úsáideach má tá tú ag feiceáil go bhfuil muid ag déileáil i ndáiríre le luachanna ASCII chomh maith leis na litreacha, chomh maith leis an innéacs aibítre, b'fhéidir a fháil nó a chur ar do tábla ASCII féin go léiríonn an t-innéacs aibítre 0 tríd 25, a trí z, agus na luachanna ASCII ionas gur féidir leat cineál a fheiceáil ar an gcaidreamh agus sceitseáil amach agus iarracht a dhéanamh agus roinnt patrúin a aimsiú. Mar an gcéanna, má bhí tú ag aistriú ar thionscnamh áirithe f - agus tá sé seo ceachtar f CásÍochtair nó ceannlitreacha - ansin bheadh ​​a fhreagraíonn go dtí 5. An bhfuil muid go maith go dtí seo? Is é an fhoirmle do Vigenere le beagán difriúil. Go bunúsach, a fheiceann tú go bhfuil sé díreach cosúil le Caesar, ach amháin seachas díreach k mór dúinn k innéacs j. Fógra nach bhfuil muid ag baint úsáide as i toisc go bunúsach, fad an eochairfhocal nach bhfuil gá le fad ár ciphertext. Beidh sé seo níos soiléire giotán nuair a fheiceann muid sampla go bhfuil mé beagán níos déanaí. Go bunúsach, má ritheann tú do chlár a bhfuil eochairfhocal de ohai, ansin ciallaíonn sé sin go gach uair, tá ohai dul a bheith do-athrú. Mar sin, ag brath ar cad seasamh go bhfuil tú i do eochairfhocal, bhfuil tú ag dul a athrú ar do áirithe ciphertext charachtar an méid sin. Arís, díreach cosúil le Caesar, ba mhaith linn a dhéanamh cinnte go bhfuil muid a chaomhnú caipitlithe de na rudaí agus táimid litreacha encipher ní amháin, carachtair nó na spásanna. Mar sin, breathnú ar ais go dtí Caesar ar na feidhmeanna gur féidir leat a úsáid, ar an mbealach gur shocraigh tú conas rudaí a athrú, agus a bhaineann le do chlár anseo. Mar sin a ligean léarscáil seo amach. Tá plaintext go atá againn gotten as an t-úsáideoir ó GetString ag rá seo ... Tá CS50! Ansin ní mór dúinn a eochairfhocal de ohai. Is iad na chéad 4 carachtair simplí go leor. Tá a fhios againn go bhfuil T ag dul a bheith bhog ag o, ansin h ag dul a bheith bhog ag h, tá sé ag dul mé a aistriú ag. Seo leat a fheiceáil go léiríonn 0, sin ansin é an luach deiridh iarbhír ach an litir chéanna is a bhíodh. Ansin, tá s bhog ag i. Ach ansin caithfidh tú na tréimhsí anseo. Nílimid ag iarraidh a encipher go, mar sin ansin nach bhfuil muid ag athrú le rud ar bith agus a phriontáil díreach amach an tréimhse gan athrú. [Mac léinn] Ní féidir liom a thuiscint conas a fhios agat go bhfuil an bhog ag - Nuair a rinne tú - >> Ó, tá brón orainn. Ag barr a fheiceann tú anseo go bhfuil an orduithe ohai argóint ar an líne anseo, go ag dul a bheith ar an eochairfhocal. Agus mar sin go bunúsach, tá tú ag rothaíocht thar na carachtair sa eochairfhocal. [Mac léinn] Dá bhrí sin tá o ag dul a bheith a aistriú mar an gcéanna - Mar sin, ionann o do líon áirithe in aibítir. [Mac léinn] Ceart. Ach cá ndeachaigh a gheobhaidh tú an chuid CS50 ó? Oh. Sin i GetString nuair a tá tú mhaith, "Tabhair dom teaghrán a ionchódú." [Mac léinn] bhíonn siad ag dul a thabhairt duit leis an argóint sin a athrú de réir agus ansin beidh tú a iarraidh ar do theaghrán chéad uair. >> Yeah. Mar sin, nuair a ritheann siad ar an gclár, tá siad ag dul a chur san áireamh an eochairfhocal i n-argóintí gceannas líne nuair a rith sé. Ansin, nuair atá tú ag seiceáil go atá siad a tugadh i ndáiríre tú 1 agus nach mbeidh níos mó, nach lú, ansin tá tú ag dul go spreagfaidh iad le haghaidh ar shraith, a rá, "Tabhair dom teaghrán." Mar sin, i gcás go sa chás seo tá siad tugtha agat seo ... Tá CS50! Mar sin, ansin tá tú ag dul a úsáid sin agus ohai úsáid agus abair leo os a chionn. Fógra go anseo ndearna muid thar gcriptiú na tréimhsí, ach i dtéarmaí ár seasamh do ohai, an ceann eile a úsáid le linn o. Sa chás seo, tá sé ina beagán níos deacra a fheiceáil toisc go 4, sin a ligean ar aghaidh le beagán. Just a bata le liom anseo. Ansin ní mór dúinn i agus í, atá aistrithe ansin o agus u seach. Ansin ní mór dúinn a spás, agus mar sin ansin a fhios againn nach bhfuil muid ag dul chun encipher na spásanna. Ach fógra go in ionad dul go dtí i láthair seo ar dheis anseo, táimid ag encrypting ag - Níl a fhios agam más féidir leat a fheiceáil go - ar dheis anseo. Mar sin, nach bhfuil sé buíochas réamhshocraithe ort i ndáiríre, a rá, o Téann anseo, téann h anseo, a théann anseo, téann i anseo, o, u, a, i, o, u, a, i. Ní gá duit é sin a dhéanamh. Tú ag aistriú ach amháin do phost sa eochairfhocal nuair a fhios agat go bhfuil tú ag dul iarbhír a bheith encrypting litir iarbhír. An bhfuil chineál sin de ciall a bhaint as? Maith go leor. Mar sin, ach roinnt meabhrúchán. Ba mhaith leat a dhéanamh cinnte go bhfuil tú roimh ré ach amháin leis an litir eile i do eochairfhocal má tá an carachtar i do plaintext litir. Mar sin, a rá go bhfuil muid ag an o. Faoi deara go bhfuil an chéad charachtar, an t-innéacs i an plaintext, tá roinnt, mar shampla. Ansin, ní féidir linn a chur chun cinn j, an t-innéacs le haghaidh ár eochairfhocal, go dtí go againn a bhaint amach litir eile. Arís, ba mhaith leat freisin chun a dhéanamh cinnte go Wraparound tú go dtí an tús an eochairfhocal nuair a bhíonn tú ag an deireadh é. Má fheiceann tú anseo againn agus muid i, tá an ceann eile a bheith o. Mar sin, ba mhaith leat a bhealach éigin a bheith in ann teacht ar wraparound go tús do eochairfhocal gach uair go sroicheann tú an deireadh. Agus mar sin arís, tá cén cineál an oibreora úsáideach sa chás sin do timfhilleadh timpeall? Cosúil i chomhaireamh amach mar shampla. [Mac léinn] an comhartha faoin gcéad. >> Yeah, an comhartha faoin gcéad, a bhfuil modulo. Mar sin, beidh modulo teacht i handy anseo nuair is mian leat a Timfhilleadh ar an innéacs i do ohai. Agus díreach leid mear: Déan iarracht chun smaoineamh ar timfhilleadh thar an eochairfhocal le beagán cosúil leis an as comhaireamh, i gcás má tá 3 ghrúpa, an duine 4, a líon a dúirt siad 4 mod 3, a bhí 1. Mar sin, iarracht a dhéanamh agus smaoineamh ar sé go bhealach. Mar a chonaic tú ar an fhoirmle sin, cibé áit a bhfuil tú ci agus ansin pi ach ansin kj, mhaith leat a dhéanamh cinnte go bhfuil tú súil a choinneáil de na. Ní gá duit a ghlaoch air i, ní gá duit a ghlaoch air j, ach ba mhaith leat a dhéanamh cinnte go bhfuil tú súil a choinneáil ar an seasamh go bhfuil tú ag i do plaintext chomh maith leis an seasamh go bhfuil tú ag i do eochairfhocal toisc nach bhfuil daoine ag dul gá a bheith mar an gcéanna. Ní amháin a dhéanann an eochairfhocal - d'fhéadfadh sé a bheith ina fad go hiomlán difriúil ná do plaintext. Chomh maith leis sin, do plaintext, tá líon agus leis na carachtair, mar sin ní tá sé ag dul a mheaitseáil breá suas le chéile. Tá. [Mac léinn] An bhfuil feidhm cás a athrú? An féidir leat a athrú ar chaipiteal A? >> Yeah, tá sí. Is féidir leat seiceáil amach - Creidim go bhfuil sé cos, gach focal 1. Ach nuair a bhíonn tú ag iarraidh rudaí a cipher agus an téacs a chaomhnú, tá sé is fearr go bunúsach go bhfuil cásanna ar leith. Má tá sé ar chás uachtair, ansin ba mhaith leat a athrú ag an mar gheall ar i do fhoirmle sin, nuair a fhéachann tú ar ais conas ní mór dúinn a de chineál ar dul hidirmhalartaithe idir an bealach ASCII de a ionadaíonn do na huimhreacha agus an iarbhír aibítre innéacs, ba mhaith linn a dhéanamh cinnte go tá sé ag dul a bheith de shaghas éigin patrún go bhfuil tú ag dul a úsáid. Eile faoi deara ar an bpatrún, i ndáiríre. Tá tú ag dul go cinnte a bheith ag déileáil le huimhreacha. Déan iarracht gan úsáid a bhaint as uimhreacha draíochta, a bhfuil sampla de stíl. Mar sin, a rá gur mian leat do gach rud athrú am mhaith - Maith go leor, mar sin leid, tá eile spoiler nuair a bhíonn tú ag dul a bheith rud éigin a aistriú ag méid áirithe, déan iarracht gan a léiríonn go bhfuil ag líon iarbhír ach déan iarracht in áit agus féach an féidir leat é a úsáid ar an luach ASCII, a chineál ciall a bhaint as níos mó. Eile faoi deara: Mar gheall ar táimid ag déileáil le foirmlí, cé go mbeidh do TF de chineál ar a fhios cad patrún fhéadfadh tú a bheith ag baint úsáide as, is fearr i do chineál tuairimí a mhíniú an loighic, cosúil le, "Tá mé ag baint úsáide as an patrún mar gheall ar ..." agus de chineál ar mhíniú an patrún succinctly i do chuid tuairimí. [Raibh an walkthrough 2] Más rud é nach bhfuil aon cheisteanna eile, ansin beidh mé fanacht go díreach anseo le haghaidh beagán. Ádh mór le do pset 2: Crypto agus a bhuíochas do teacht. [Mac léinn] Go raibh maith agat. Go raibh maith agat. >> [Meáin votepage Líne]