>> ROB BOWDEN: Hi, mwen se Rob.
Apre sa, mwen espere ke w ap chaje moute pou kredi.
Se konsa, premye bagay nou bezwen fè se mande kat kredi a
nimewo ki soti nan itilizatè a.
Isit la, nou ap itilize getLongLong.
Ou te kapab tou itilize getString, men nan ka sa a, ou ta bezwen yo tcheke
ki pa te gen okenn ki pa nimerik karaktè nan fisèl la.
Se konsa, nou pral sèvi ak getLongLong.
>> Sonje ke ou pa kapab itilize yon bagay tankou getInt, depi nimewo a pral
twò gwo nan anfòm nan yon nonb antye ki pè.
Yon fwa nou gen ladan nimewo, nou wè isit la sa a bouk ti tan.
Se konsa, sa a bouk pandan ke se mete ann aplikasyon Algorithm Luhn a ke ou
wè nan espèk a pset.
>> Apre sa, li la aktyèlman pral yo dwe yon ti jan entelijan.
Se konsa, nan espèk a pset, remake ke Etap youn ak de yo se apa a.
Nou premye ale sou kat kredi a tout antye nimewo, kap chèche tout lòt
N. kòmanse nan dezyèm nan N. pase a, ak miltipliye yo
epi ajoute tout chif yo.
Lè sa a, apre sa, nou ajoute nan tout lòt chif yo.
>> Se konsa, olye pou yo ap fè moun ki nan de etap ki apa a, nou pral konbine
yo nan yon sèl iterasyon sou la tout nimewo kat kredi.
Isit la, nou wè Int egal chif akt nimewo kat kredi, mod 10.
Ki sa ki se nimewo kat kredi Mod 10 ap fè?
Li ban nou dènye chif la nan nimewo a tout antye.
Se konsa, sonje ke si nou divize an konte moute pa 10, Lè sa a, rès la
ta dwe tou sa ki sot pase a chif la se.
23 divize pa 10, nan rès yo pral 3.
>> Se konsa, dènye chif a, kounye a isit la, nou wè nou ap branch sou mult pa 2.
Se konsa, sa nou pral yo dwe lè l sèvi avèk mult pa 2 pou se différencier ant
youn nan "chak nimewo ki lòt soti nan dezyèm chif "nimewo yo.
Mult pa 2 ki pral kòmanse soti kòm fo, depi dènye chif la pa ta dwe
dwe konsidere kòm ki soti nan dezyèm nan dènye chif.
>> Se konsa, Lè sa a, nan fen sa a pou bouk, nou wè ke nou ap ale nan chanje sa a
soti nan fo vre.
Sou iterasyon nan pwochen nan pou bouk la, li nan ale nan konsidere kòm vrè jouk
fen a, lè nou chanje li nan men vre fo.
Paske lè sa a nou pral nan twazyèm mwa a chif pase a, ki se pa youn nan
chif ke nou ta dwe anpil anpil pitit pa 2.
>> Se konsa, si nou rive yo dwe sou youn nan moun ki chif ke nou vle miltipliye li pa 2,
nou wè n ap ajoute nan kontwòl nou an.
Ak isit la, nou lè l sèvi avèk la tèrsyèr operatè yon fwa
ankò yon ti jan entelijan.
Se konsa, si akt chif se mwens pase 5, Lè sa a, nou ka jis fè akt fwa chif 2.
Sa a ki senp.
Si li nan 1, lè sa a nou vle ajoute 2.
Si li nan 2, nou vle ajoute 4.
Si li nan 4, nou vle ajoute 8.
>> Se konsa, sa ki nan espesyal sou 5?
Oke, 5 fwa 2 a se 10.
Epi sonje soti nan espèk a pset ki nou vle ajoute chif yo nan la
fwa nimewo 2, epi yo pa la fwa nimewo 2 tèt li.
Se konsa, si nimewo orijinal la se 7, 7 fwa 2 a se 14.
Nou vle ajoute 1 plis 4 nan nimewo a, pa 14.
>> Se konsa, isit la, si kantite a se 5 oswa pi plis, sa n ap fè se akt chif
fwa 2 mwens 9.
Men, si ou panse osijè de sa, 5 fwa 2 a se 10.
Se konsa, nou ap ajoute 1, ki se 10 mwens 9.
Apre sa, 6 fwa 2 se 12.
Se konsa, nou ap ajoute 3, ki se 12 mwens 9.
Apre sa, ki travay pou tout chif yo.
>> Se konsa, sa a, se sa n ap ajoute kontwòl nou an.
Apre sa, lòt moun sa a se sa ki manyen Etap De nan algorithm Luhn a, ki se jis
ajoute chif la si li pa rive yo dwe youn nan tout lòt chif yo.
Se konsa, yon fwa nou gen sa a, sa a se kenbe tras nan de premye karaktè yo nan
nimewo a kat kredi, de nan premye chif, depi nou ap evantyèlman pral
vle sèvi ak bagay sa a isit la yo verifye, tout dwa, yon viza te kòmanse
ak sa a, ak yon bezwen American Express kòmanse ak sa a, ak sou sa.
>> Finalman, nou fè kat kredi nimewo egal kat kredi
nimewo divize pa 10.
Poukisa nou fè sa?
Oke, nou jis okipe dènye chif la.
Divize pa 10 ap chanjman nimewo a tout antye sou.
Se konsa, koulye lè nou bouk tounen, nou ap yo pral manyen la
dezyèm nan dènye chif.
Lè sa a, lè nou frape sa a ankò, nou pral yo koupe dezyèm lan nan dènye
chif, bouk tounen, ak okipe twazyèm lan nan dènye chif, ak sou sa, jouk la
nimewo rive nan 0, nan pwen sa a nou kraze soti nan bouk la pandan y ap.
>> Nou ap tou kenbe tras nan kredi a nimewo kat longè, depi lè sa a
enpòtan yo fè distenksyon ant si li nan yon nimewo kat kredi ki valid.
Se konsa, koulye a, yon fwa nou te kalkile nan kontwòl, nou ka detèmine si li
se yon kat ki valid.
Mod a Kontwòl 10 se yon pati nan algorithm Luhn la.
Si kontwòl mod 10 retounen yon bagay ki pa zewo, Lè sa a, sa a ap retounen vre,
nan ka sa a, ki kantite dwe valab.
>> Sinon, si Kontwòl mod 10 se 0, Lè sa a, nou ka kontinye.
Sa a gwo lòt moun si se li di, si premye a de chif ki egal a AMEX 1,
kote moute isit la, nou wè ke AMEX 1, tankou pou chak espèk a, se 34.
Epitou, n ap tou konpare li AMEX 2, ki se 37.
Apre sa, longè a nimewo kat kredi a se egal a espere American Express la
kat longè, Lè sa a, nou kapab ekri ak lèt ​​detache American Express.
>> Nou pral fè yon gwo bagay ki sanblab ak Visa.
De premye chif yo bezwen yo dwe pi gwo pase oswa egal a 40, oswa mwens
pase oswa egal a 49.
Moun sa yo ki reprezante kat Visa ki valid.
Apre sa, longè a bezwen yo dwe egal a Longè Visa 1 oswa Visa Longè 2.
Se konsa, longè a yo dwe swa 13 oswa 16 chif long.
>> Epi finalman ak MasterCard, li nan menm jan ak Visa, ke de nan premye
chif bezwen yo dwe nan yon sèten ranje, ak longè dwe nan
dwe egzakteman 16 chif.
Se konsa, si nenpòt nan ka sa yo kenbe, Lè sa a, nan pwemye ka a, nou pral ekri ak lèt ​​detache AMEX.
Si ka sa a kenbe, nou pral ekri ak lèt ​​detache Visa.
Si ka sa a kenbe, nou pral ekri ak lèt ​​detache MasterCard.
>> Men, si yonn nan moun ki kenbe, menm si Kontwòl a te valab,
nou toujou ekri ak lèt ​​detache valab.
Paske li pa youn nan sa yo kalite kat.
Non mwen se Rob, e mwen espere ou yo te jwenn kredi ki enteresan.