Professional Documents
Culture Documents
6WDWHWKHRXWSXWZKHQWKHLQSXWVDUHIROORZHGE\
>@
E ,QWKHOLQH
L 6WDWHZKDWRSFRGH68%GRHV
>@
LL 1DPHWKHUHJLVWHULQZKLFKWKHUHVXOWRIWKLVOLQHLVVWRUHG
>@
L 6WDWHZKDWWKHSURJUDPLQ)LJGRHV
>@
LL 8VLQJSVHXGRFRGHZULWHDSURJUDPIRUDSURFHGXUDOODQJXDJHWKDWWDNHVLQWZRLQSXWVDQGJLYHVWKHVDPH
RXWSXWDVWKHSURJUDPLQ)LJ
>@
>@
E 8VLQJELQDU\VXEWUDFWLRQFDOFXODWH\RXUDQVZHUWRWKHIROORZLQJ<RXPXVWVKRZ\RXUZRUNLQJ
>@
F 8VLQJWZRಫVFRPSOHPHQWFRQYHUWWKHGHQDU\QXPEHULQWRDQELWELQDU\QXPEHU<RXPXVWVKRZ\RXU
ZRUNLQJ
>@
G
L 8VLQJQRUPDOLVHGIORDWLQJSRLQWELQDU\UHSUHVHQWDWLRQXVLQJELWVIRUWKHPDQWLVVDDQGIRUWKHH[SRQHQW
UHSUHVHQWWKHGHQDU\YDOXH<RXPXVWVKRZ\RXUZRUNLQJ
>@
LL 8VLQJQRUPDOLVHGIORDWLQJSRLQWELQDU\UHSUHVHQWDWLRQXVLQJELWVIRUWKHPDQWLVVDDQGIRUWKHH[SRQHQW
UHSUHVHQWWKHGHQDU\YDOXH<RXPXVWVKRZ\RXUZRUNLQJ
>@
L 'HVFULEHZKDWLVPHDQWE\WKHWHUPಪUHJLVWHUಫ
>@
LL *LYHRQHRWKHUIHDWXUHRIWKH9RQ1HXPDQQ$UFKLWHFWXUH
>@
E $QH[DPSOHRIDUHJLVWHULVWKH$FFXPXODWRU $&&
*LYHD/LWWOH0DQ&RPSXWHULQVWUXFWLRQWKDWZLOOFRS\WKHFRQWHQWVRIWKHDFFXPXODWRULQWRPHPRU\ZKHQ
H[HFXWHG
>@
F $QRWKHUUHJLVWHULVWKH3URJUDP&RXQWHU 3&
L 6WDWHZKDWWKH3URJUDP&RXQWHUKROGV
>@
LL *LYHWKHQDPHRIWZR/LWWOH0DQ&RPSXWHULQVWUXFWLRQVWKDWPD\FKDQJHWKHFRQWHQWVRIWKH3URJUDP&RXQWHU
ZKHQH[HFXWHG
>@
7KHSKRWRIUDPHKDVD5,6&SURFHVVRU
'HVFULEHRQHDGYDQWDJHWRWKHFRPSDQ\RIXVLQJD5,6&SURFHVVRUUDWKHUWKDQD&,6&SURFHVVRU
>@
D 7KH9RQ1HXPDQQDUFKLWHFWXUHXVHVD&RQWURO8QLWDQGDQ$ULWKPHWLF/RJLF8QLW
6WDWHWKHUHJLVWHULQZKLFKWKH$ULWKPHWLF/RJLF8QLWVWRUHVLWVUHVXOWV
>@
E 7LFNWKHVWDJHRIWKHIHWFKGHFRGHH[HFXWHF\FOHLQZKLFKWKHUHJLVWHULQSDUW D ZRXOGUHFHLYHDYDOXHIURPWKH
$ULWKPHWLF/RJLF8QLW
6WDJH 7LFNRQH
)HWFK
'HFRGH
([HFXWH
>@
'HVFULEHZKDWLVPHDQWE\WKHWHUPಪ9RQ1HXPDQQ$UFKLWHFWXUHಫ
>@
E $&38ZLOOUHSHDWHGO\UXQWKH)HWFK'HFRGH([HFXWHF\FOHVKRZQLQ)LJ
)LJ
L 'HVFULEHZKDWKDSSHQVGXULQJWKHಪ)HWFKಫVWDJHVKRZQLQ)LJ
<RXVKRXOGUHIHUWRWKHXVHRIVSHFLILFUHJLVWHUVLQ\RXUDQVZHU
LL $&38PD\QHHGWRVWRSUXQQLQJWKH)HWFK'HFRGH([HFXWHF\FOHLQRUGHUWRKDQGOHDQLQWHUUXSW
7LFNRQHER[WRLQGLFDWHZKHUHLQ)LJDQLQWHUUXSWZRXOGEHKDQGOHG
&
>@
'HVFULEHRQHGLIIHUHQFHEHWZHHQ&,6&DQG5,6&
>@
$WWKHHQGRIHDFKPDWFKSOD\HUVXSORDGWKHLUVFRUHWRDFRPSXWHU7KHFRPSXWHUVWRUHVWKHVFRUHVLQWKHRUGHU
WKH\DUHUHFHLYHGLQD'DUUD\FDOOHG 7KHDUUD\VWRUHVWKHWHDPDVDQLQWHJHU IRUJUHHQIRUUHG
DQGWKHLUVFRUH$QH[WUDFWRIWKHDUUD\FDOOHG LVVKRZQEHORZ7KHILUVWHQWU\VKRZVDJUHHQWHDP
PHPEHUVFRUHGSRLQWVDQGWKHQH[WVKRZVDUHGWHDPPHPEHUVFRUHGSRLQWV
2QFHDOOWKHSOD\HUVKDYHXSORDGHGWKHLUVFRUHVWKHFRPSXWHUDGGVXSWKHVFRUHVIRUHDFKWHDP
8VLQJSVHXGRFRGHZULWHDSURJUDPIRUDSURFHGXUDOODQJXDJHWKDWZRUNVRXWDQGRXWSXWVWKHWRWDOVFRUHIRUHDFK
WHDP<RXPD\DVVXPHWKDWWKHUHDUHDOZD\VSOD\HUV
>@
L 'HVFULEHZKDWLVPHDQWE\WKHWHUP-DYD6FULSW
>@
LL ([SODLQZK\LWLVXVXDOO\WKHFDVHWKDW-DYD6FULSWLVLQWHUSUHWHGUDWKHUWKDQFRPSLOHG
>@
2QHRIWKHLQVWUXFWLRQVLQWKHVHWLV%UDQFKLI3RVLWLYH BRP
'HVFULEHZKDWWKHLQVWUXFWLRQBRPGRHV
>@
E $QXPHULF3,1FRGHHQWHUHGLQWRWKHEXUJODUDODUPLVFRPSDUHGZLWKWKHFRGHVWRUHGDWWKHPHPRU\ORFDWLRQ
passcode
,IWKHFRGHVPDWFKWKHSURJUDPMXPSVWRWKHSDUWRIWKHSURJUDPODEHOOHGdeactivate
,IWKHFRGHVGRQRWPDWFKWKHSURJUDPMXPSVWRWKHSDUWRIWKHSURJUDPODEHOOHGalarm
>@
:KHQDYLGHRLVVHOHFWHGWKHSURJUDPJLYHVDQHVWLPDWHRIWKHILOHVL]HRIWKHFRQYHUWHGYLGHR7KHHVWLPDWHLQ
NLORE\WHVLVFDOFXODWHGE\PXOWLSO\LQJ
WKHQXPEHURISL[HOVLQWKHYLGHR VUHVROXWLRQE\ಸ
WKHQXPEHURIIUDPHVSHUVHFRQGE\ಸ
WKHOHQJWKRIWKHYLGHRLQPLQXWHVE\ಸ
WKHYDOXH
:ULWHDIXQFWLRQLQSVHXGRFRGHWKDWHVWLPDWHVWKHVL]HRIDFRQYHUWHGYLGHR,WVKRXOGWDNHLQSDUDPHWHUV
pixelsframesPerSeclengthMins
FDOFXODWHWKHHVWLPDWHGILOHVL]H
UHWXUQDVWULQJZLWKWKHILOHVL]HLQFOXGLQJXQLWV
XVHPHJDE\WHVIRUVL]HVXQGHUPHJDE\WHVRWKHUZLVHWKHHVWLPDWHVKRXOGEHJLYHQLQJLJDE\WHV
([DPSOHV
SL[HOVDWIUDPHVSHUVHFRQGIRUPLQXWHVZLOOUHWXUQDVL]HRI0%
SL[HOVDWIUDPHVSHUVHFRQGIRUPLQXWHVZLOOUHWXUQDVL]HRI*%
&ZKLFKLVFRPSLOHGWRPDFKLQHFRGH
-DYDZKLFKFRPSLOHVWRDQLQWHUPHGLDWHFRGHWKDWWKHQUXQVRIIDYLUWXDOPDFKLQH
-DYD6FULSWZKLFKUXQVIURPDQLQWHUSUHWHULQDZHEEURZVHU
'LVFXVVWKHEHQHILWVDQGGUDZEDFNVRIWKHWKUHHRSWLRQVDERYHDQGMXVWLI\ZKLFKRSWLRQ\RXZRXOGUHFRPPHQG
>@
:KHQLWHPVDUHVFDQQHGLQDWWKHFKHFNRXWWKH\DUHVWRUHGLQDGLPHQVLRQDODUUD\FDOOHGpurchasesZKLFK
VWRUHVWKHLWHPQDPHFDWHJRU\DQGSULFH
$UHFHLSWZLWKWKHDSSURSULDWHGLVFRXQWVGHGXFWHGLVWKHQSURGXFHG
([DPSOHVRIWKHDUUD\DQGFRUUHVSRQGLQJUHFHLSWDUHVKRZQLQ)LJDQG)LJ
:ULWHDQDOJRULWKPLQSVHXGRFRGHXVLQJWKHDUUD\purchasesWR
GHWHUPLQHZKLFKLWHPVDUHJLYHQDGLVFRXQW
FDOFXODWHWKHWRWDOSULFHWRSD\
SUHVHQWWKLVLQIRUPDWLRQRQDUHFHLSWLQWKHIRUPDWVKRZQLQ)LJ
>@
7KHFRPSDQ\FKDUJHVRQWKHIROORZLQJEDVLV
3DUFHOVWKDWKDYHDYROXPHRIOHVVWKDQPDQGZHLJKOHVVWKDQNJFRVWWRVHQG
$OORWKHUSDUFHOVFRVWSHUPRUSHUNJZKLFKHYHULVJUHDWHU
([DPSOHV
3DUFHO$ZHLJKVNJKDVDYROXPHRIPDQGFRVWVWRVHQG
3DUFHO%ZHLJKVNJKDVDYROXPHRIPDQGFRVWVWRVHQG
3DUFHO&ZHLJKVNJKDVDYROXPHRIPDQGFRVWVWRVHQG
7KHIXQFWLRQgetCostWDNHVLQWKHvolumeDQGweightRIDSDUFHODQGUHWXUQVWKHFRVW
getCost(2.5,0.1) UHWXUQV5
getCost(6,0.2) UHWXUQV12
getCost(6,0.8) UHWXUQV16
&RPSOHWHWKHSVHXGRFRGHEHORZVRWKDWWKHIXQFWLRQgetCostUHWXUQVWKHFRUUHFWFRVW
words=["REMEMBER","TO","TAKE","CHARLIE","TO","THE","DENTIST", "THIS","AFTERNOON"]
words.remove()WKHQUHWXUQVWKHQH[WLWHPLQWKHTXHXH
IRUH[DPSOHtemp=words.remove()DVVLJQVtempWKHYDOXH"REMEMBER"DQGOHDYHVwords DV
["TO","TAKE","CHARLIE","TO","THE","DENTIST","THIS","AFTERNOON"]
7KHGLVSOD\KDVIRXUOLQHVHDFKFDQVKRZDPD[LPXPRIFKDUDFWHUVLQFOXGLQJVSDFHV
,IDZRUGFDQಫWILWRQDOLQHDQHZOLQHLVVWDUWHG
([DPSOHV
7KHFRQWHQWVRIWKHGLVSOD\DUHVWRUHGLQD'DUUD\RIFKDUDFWHUVFDOOHGdisplay.
7KHSURFHGXUHupdateDisplayUHFHLYHVWKHTXHXHwordsZKLFKKROGVWKHPHVVDJHDQGZULWHVWKHPHVVDJH
WRWKHGLVSOD\
:ULWHWKHSURFHGXUHupdateDisplay.&UHGLWZLOOEHJLYHQIRUWKHUHDGDELOLW\RI\RXUFRGH
<RXFDQDVVXPH
0HVVDJHVFRQWDLQQRSXQFWXDWLRQ
-DYD6FULSWLVXVHGWRFKHFNWKDWDUHDVRQDEOHYDOXHLVEHLQJHQWHUHGEHIRUHDPHWHUUHDGLQJLVVHQWWRDVHUYHU
:KHQWKHXVHUHQWHUVDPHWHUUHDGLQJQXPEHUWKHIXQFWLRQvalidateReadingLVFDOOHG,IWKHQXPEHUHQWHUHG
LVDYDOLGQXPEHUEHWZHHQDQGLQFOXVLYHLWUHWXUQVtrueRWKHUZLVHLWUHWXUQVfalse
<RXZLOOQHHGWRXVHWKH-DYD6FULSWIXQFWLRQisNaN()VWDQGLQJIRUಮLVQRWDQXPEHUಯ7KLVUHWXUQVtrueLIWKH
YDOXHLWLVJLYHQLVQRWDQXPEHUDQGfalseLILWLV
isNaN(computer4)UHWXUQVtrue
isNaN(203)UHWXUQVfalse
&RPSOHWHWKHIXQFWLRQ
function validateReading(reading)
{
>@
6KHFODVVLILHVWHPSHUDWXUHVLQRQHRIIRXUEDQGV
%DQG$ RUEHORZ
%DQG% ಥ
%DQG& ಥ
%DQG' RUDERYH
7KHZHDWKHUVWDWLRQUHFRUGVWKHWHPSHUDWXUHHYHU\GD\DVDQLQWHJHU$WWKHHQGRIWKH\HDUWKHWHPSHUDWXUHV
DUHVWRUHGLQDQDUUD\FDOOHGtemperatures
:ULWHDSURJUDPLQSVHXGRFRGHWKDWUHDGVWKURXJKWKLVDUUD\DQGSURGXFHVDQRXWSXWZKLFKVKRZVWKHWRWDO
QXPEHURIGD\VZLWKLQHDFKEDQG$QH[DPSOHRIVXFKDQRXWSXWLVVKRZQEHORZ
Band A: 93
Band B: 143
Band C: 98
Band D: 31
(QVXUH\RXUFRGHLVHIILFLHQW
>@
([SODLQZK\DOOFORVHGVRXUFHVRIWZDUHLVPRVWOLNHO\WREHFRPSLOHGUDWKHUWKDQUXQRQDQLQWHUSUHWHU
>@
E 6WDWHWKHQDPHRIDW\SHRIWUDQVODWRUVRIWZDUHRWKHUWKDQDFRPSLOHURULQWHUSUHWHU
>@
,WKDVEHHQVXJJHVWHGWKDWWKLVFRGHFRXOGEHPDGHPRUHHIILFLHQWDQGHDVLHUWRPDLQWDLQXVLQJDQDUUD\RUDOLVW
:ULWHDPRUHHIILFLHQWYHUVLRQRIWKHSURJUDPPHUಫVFRGHXVLQJDQDUUD\RUDOLVW
6WDWHWKHW\SHRIWUDQVODWRUWKDWLVXVHGWRFRQYHUWDVVHPEO\ODQJXDJHLQWRPDFKLQHUHDGDEOHFRGH
>@
E )LJVKRZVDVVHPEO\FRGHZULWWHQXVLQJWKH/0&LQVWUXFWLRQVHW
)LJ
L 7LFNRQHER[WRLQGLFDWHWKHSURJUDPPLQJFRQVWUXFWWKDWLVQRWXVHGLQ)LJ
6HTXHQFH
6HOHFWLRQ
,WHUDWLRQ
>@
LL :KHQWKHSURJUDPLVUXQLVLQSXWE\WKHXVHU
6WDWHWKHYDOXHWKDWZLOOEHLQWKHPHPRU\ORFDWLRQZZKHQWKHSURJUDPKDVUXQZLWKWKLVLQSXW
LLL :ULWHDQHTXLYDOHQWYHUVLRQRIWKH/0&DVVHPEO\FRGHVKRZQLQ)LJIRUDSURFHGXUDOSURJUDPPLQJ
ODQJXDJH
<RXVKRXOGZULWH\RXUFRGHXVLQJSVHXGRFRGHRUSURJUDPFRGH
>@
INP
STA num
loop LDA total
ADD num
STA total
LDA count
ADD one
STA count
SUB num
BRZ end
BRA loop
end LDA total
OUT
HLT
one DAT 1
num DAT 0
count DAT 0
total DAT 0
([SODLQZKLFKUHJLVWHUVDUHXVHGDQGWKHLUYDOXHVZKHQWKHOLQHSTA countLVH[HFXWHGDQGWKHDFFXPXODWRULV
KROGLQJWKHYDOXH7KHODEHOcountUHIHUVWRPHPRU\ORFDWLRQ
>@
)RUHDFKYHKLFOHWKDWSDVVHVE\DOHWWHULVHQWHUHGLQWRWKHV\VWHP
)RUDFDUಪ&ಫLVHQWHUHG
)RUDPRWRUELNHಪ0ಫLVHQWHUHG
)RUDORUU\ಪ/ಫLVHQWHUHG
)RUDQ\RWKHUYHKLFOHಪ2ಫLVHQWHUHG
,WLVGHFLGHGWRFRPSUHVVWKHGDWDWKDWKDVEHHQJHQHUDWHG
7KHVXUYH\WDNHUVZDQWWRILQGRXWWKHORQJHVWFRQWLQXRXVVHTXHQFHRIFDUVLQDQ\JLYHQFKXQNRIGDWD)RU
H[DPSOHLQWKHGDWD
CCMCCCCLLCCC
WKHORQJHVWVHTXHQFHZRXOGEH
:ULWHWKHIXQFWLRQlongestZKLFKWDNHVLQDVWULQJRIFKDUDFWHUVDVDQDUJXPHQWDQGUHWXUQVDQLQWHJHU
UHSUHVHQWLQJWKHORQJHVWFRQWLQXRXVVHTXHQFHRI&V
$QWLYLUXVVRIWZDUHLVDQH[DPSOHRIDXWLOLW\
:KHQUXQQLQJWKHDQWLYLUXVVRIWZDUHDQRSHUDWLQJV\VWHPXVHVDVFKHGXOLQJDOJRULWKPWRGHWHUPLQHDQ
DOORFDWLRQRI&38WLPHWRWKHDQWLYLUXVVRIWZDUH
([SODLQZK\D)LUVW&RPH)LUVW6HUYHGVFKHGXOLQJDOJRULWKPZRXOGQRWEHVXLWDEOHLQWKLVVLWXDWLRQ
>@
1DPHDQGGHVFULEHWKUHHEXVHVXVHGWRFRQYH\LQIRUPDWLRQEHWZHHQWKHVSHFLDOUHJLVWHUV
>@
$SURFHVVRUH[HFXWHVWKLVSURJUDPIROORZLQJWKH)HWFK'HFRGH([HFXWHF\FOH7RGRWKLVLWQHHGVWRPDNHXVHRI
UHJLVWHUV
L ,GHQWLI\DQLQVWUXFWLRQLQWKH/LWWOH0DQ&RPSXWHUSURJUDPVKRZQLQ)LJWKDWZRXOGFDXVHWKH3&WRFKDQJH
LQDGLIIHUHQWZD\
>@
LL 6WDWHZKLFKUHJLVWHUWKHFRQWHQWVRIWKH3&ZRXOGEHFRSLHGWRLQRUGHUIRUWKHSURFHVVRUWRDFFHVVWKHQH[W
LQVWUXFWLRQ
>@
([SODLQWKHEXVHVDQGUHJLVWHUVXVHGZKHQWKHOLQHSUB oneLVH[HFXWHG
>@
E ([SODLQJLYLQJDQH[DPSOHKRZSLSHOLQLQJLQD&38FRXOGVSHHGXSWKHH[HFXWLRQRIWKLVSURJUDP
>@
>@
G 3LSHOLQLQJLVRQHIDFWRUWKDWDIIHFWVWKHSHUIRUPDQFHRID&38,GHQWLI\RQHRWKHUIDFWRU
>@
([SODLQWKHQHHGIRUWKHIROORZLQJUHJLVWHUV
L 3URJUDP&RXQWHU 3&
>@
LL 0HPRU\$GGUHVV5HJLVWHU 0$5
>@
>@
>@
LL ([SODLQRQHDGYDQWDJHRWKHUWKDQFRVWRI5,6&FRPSDUHGZLWK&,6&
>@
2QHIHDWXUHRI9RQ1HXPDQQDUFKLWHFWXUHLVWKDWLQVWUXFWLRQVDUHH[HFXWHGLQDOLQHDUVHTXHQFH
L *LYHWKUHHRWKHUIHDWXUHV
>@
LL 'HVFULEHZKDWLVPHDQWE\DUUD\SURFHVVRUDUFKLWHFWXUH
>@
LLL *LYHRQHDGYDQWDJHDQGRQHGLVDGYDQWDJHRWKHUWKDQFRVWRIXVLQJ9RQ1HXPDQQFRPSDUHGZLWKDUUD\
SURFHVVRUDUFKLWHFWXUHV
$GYDQWDJH
'LVGYDQWDJH
>@
L ([SODLQZK\VSHFLDOUHJLVWHUVDUHQHHGHGLQDGGLWLRQWRSULPDU\PHPRU\
>@
LL 2QHUHJLVWHUKROGVWKHDGGUHVVRIWKHQH[WLQVWUXFWLRQWREHSURFHVVHG
([SODLQWZRUHDVRQVZK\WKHYDOXHKHOGPD\FKDQJH
>@
'HVFULEHWZRZD\VLQZKLFKWKHDFFXPXODWRULVXVHG
>@
9RQ1HXPDQQDUFKLWHFWXUHXVHVVSHFLDOUHJLVWHUVWRVWRUHGDWD
2QHRIWKHVHUHJLVWHUVLVWKH&XUUHQW,QVWUXFWLRQ5HJLVWHU &,5
1DPHWZRRWKHUVSHFLDOUHJLVWHUV
>@
'HVFULEHWKHXVHRIVSHFLDOUHJLVWHUVDQGWKHLUIXQFWLRQVGXULQJWKHIHWFKGHFRGHH[HFXWHF\FOHLQFOXGLQJMXPS
LQVWUXFWLRQVUHDGLQJIURPDQGZULWLQJWRPHPRU\
7KHTXDOLW\RIZULWWHQFRPPXQLFDWLRQZLOOEHDVVHVVHGLQ\RXUDQVZHUWRWKLVTXHVWLRQ
>@
7KHSURFHVVRUFRQWDLQVDFRQWUROXQLW
'HVFULEHWKHUROHRIWKHFRQWUROXQLWLQWKHSURFHVVRU
>@
E 7KHSURFHVVRUIHWFKHVGDWDIURPPHPRU\ORFDWLRQ
([SODLQKRZWKHIROORZLQJDUHXVHGLQWKHSURFHVV
0HPRU\$GGUHVV5HJLVWHU
$GGUHVV%XV
'DWD%XV
0HPRU\'DWD5HJLVWHU
>@
L 6WDWHWZRZD\VLQZKLFK520GLIIHUVIURP5$0
>@
LL *LYHDQH[DPSOHRIZKDWWKH520RQWKHVPDUWZDWFKPLJKWKROG
>@
,QWKLVYDULDQWRI/0&WKHV\PEROV DQGDUHXVHGWRGHQRWHGLIIHUHQWPRGHVRIDGGUHVVLQJ
([SODLQKRZSLSHOLQLQJZRXOGKHOSD&38H[HFXWHWKHFRGHLQ)LJPRUHTXLFNO\
>@
entry DAT 10
ten DAT 1
one DAT
L *LYHRQHLQVWUXFWLRQLQWKHSURJUDPWKDWZKHQH[HFXWHGFKDQJHVWKHYDOXHLQWKH$FFXPXODWRU
>@
LL *LYHRQHLQVWUXFWLRQLQWKHSURJUDPWKDWZKHQH[HFXWHGFKDQJHVWKHYDOXHLQWKH3URJUDP&RXQWHU
>@
>@
LY 6WDWHWKHYDOXHWKHFRGHRXWSXWVIRUWKHLQSXW
>@
Y 'HVFULEHWKHSXUSRVHRIWKHSURJUDP
>@
0QHPRQLF ,QVWUXFWLRQ
ADD $GG
SUB 6XEWUDFW
STA
LDA /RDG
%UDQFKDOZD\V
BRZ
BRP
INP ,QSXW
OUT 2XWSXW
(QGSURJUDP
:ULWHDSURJUDPXVLQJWKH/LWWOH0DQ&RPSXWHULQVWUXFWLRQVHWWKDWZLOODOORZDXVHUWRLQSXWWZRQXPEHUVDQG
WKHQRXWSXWWKHODUJHURIWKHWZRQXPEHUV7KHSURJUDPVKRXOGORRSFRQWLQXRXVO\
E &RPSOHWHWKHWDEOHDERYHWRVKRZWKHPLVVLQJPQHPRQLFVDQGLQVWUXFWLRQV >@
)HDWXUHV
7KHQHZ2&56PDUW:DWFK
8VHVWKH&%5,6&SURFHVVRUIRUORQJEDWWHU\OLIH
6WRUHVXSWRKUVRIPXVLF
7UDFNVILWQHVV
'RZQORDG7KH)DFWVKHHW
L :ULWHWKH+70/WRSURGXFHWKHH[WUDFWIURPWKHZHESDJHDERYH<RXFDQDVVXPHLWZLOOEHSODFHGZLWKLQWKH
<body>WDJVRIDSUHH[LVWLQJSDJH<RXGRQRWQHHGWRVSHFLI\WKHIRQW
>@
LL ([SODLQZKDWKDSSHQVZKHQDVHDUFKHQJLQHLQGH[HVWKHSDJH<RXGRQRWQHHGWRGLVFXVVUDQNLQJ
LLL ([SODLQZK\XVLQJD5,6&SURFHVVRUUDWKHUWKDQD&,6&SURFHVVRULVOLNHO\WRUHVXOWLQLQFUHDVHGEDWWHU\OLIH
>@
3DUWRIWKHFRIIHHPDNLQJPDFKLQHಫVFRGHDVNVWKHXVHUWRSUHVVDEXWWRQWRVHOHFWVWUHQJWK7KHFRGHRXWSXWV
ZKLFKZLOOVZLWFKRQDJUHHQOLJKWWRLQGLFDWHDYDOLGVHOHFWLRQRURXWSXWVWRLQGLFDWHDQLQYDOLGVHOHFWLRQ
7KHFRGHLVVKRZQEHORZ
INP
STA entry
LDA max
SUB entry
BRP accept
LDA redLight
BRA printAndEnd
accept LDA greenLight
printAndEnd OUT
HLT
greenLight DAT 1
redLight DAT 0
max DAT 5
entry DAT
)LJ
>@
LL ([SODLQZKLFKUHJLVWHUVDQGEXVHVDUHXVHGDQGWKHYDOXHVWKH\VWRUHFDUU\ZKHQWKHOLQHLDA redLight
LVH[HFXWHG DIWHULWKDVEHHQIHWFKHGDQGGHFRGHG <RXVKRXOGDVVXPHWKHDGGUHVVredLightUHIHUVWR
>@
LLL :ULWHFRGHLQDKLJKOHYHOODQJXDJHRUSVHXGRFRGHWKDWKDVWKHVDPHIXQFWLRQDOLW\DVWKHFRGHLQ)LJ
LY 'LVFXVVWKHGLIIHUHQFHVEHWZHHQDVVHPEO\FRGHDQGKLJKOHYHOODQJXDJHV<RXVKRXOGUHIHUWR
WKHDGYDQWDJHVDQGGLVDGYDQWDJHVRIZULWLQJSURJUDPVLQDVVHPEO\FRGHUDWKHUWKDQDKLJKOHYHO
ODQJXDJH
ZKHQHDFKDSSURDFKPLJKWEHXVHG
ZK\WKHFRIIHHPDFKLQHZDVSURJUDPPHGLQDVVHPEO\FRGH
E /LWWOH0DQ&RPSXWHURSHUDWHVRQDFRPSXWHUV\VWHPEDVHGRQWKH9RQ1HXPDQQ$UFKLWHFWXUH
L 6WDWHWZRIHDWXUHVRIWKH9RQ1HXPDQQDUFKLWHFWXUH
>@
LL 'HVFULEHRQHIHDWXUHQRWSDUWRIWKHVWDQGDUG9RQ1HXPDQQ$UFKLWHFWXUHZKLFKFRQWHPSRUDU\&38VPD\
KDYHLQRUGHUWRLPSURYHSHUIRUPDQFH
>@
INP
STA num
loop LDA total
ADD num
STA total
LDA count
ADD one
STA count
SUB num
BRZ end
BRA loop
end LDA total
OUT
HLT
one DAT 1
num DAT 0
count DAT 0
total DAT 0
6WDWHZKDWWKHSXUSRVHRIWKHSURJUDPLV
>@
$V\VWHPVDQDO\VWKDVEHHQHPSOR\HGE\DEXV\FLW\OLEUDU\WRSURGXFHDQHZFRPSXWHULVHGV\VWHP
([SODLQWKHVWDJHVRIWKHV\VWHPVOLIHF\FOHWKDWPXVWEHFRPSOHWHGDIWHUWKHGHVLJQVWDJHDQGGHVFULEHWKH
GRFXPHQWDWLRQWKDWWKHDQDO\VWPXVWSURGXFH
7KHTXDOLW\RIZULWWHQFRPPXQLFDWLRQZLOOEHDVVHVVHGLQ\RXUDQVZHUWRWKLVTXHVWLRQ
6WDWHZKDWW\SHRIWUDQVODWRUSURJUDPZRXOGEHQHHGHGWRFRQYHUWWKHFRGHDERYHLQWRPDFKLQHFRGH
>@
7KHJDPHLVFRGHGXVLQJDQREMHFWRULHQWHGODQJXDJH%HORZLVWKHFRGHIRUWKHOL]DUGFODVV
7KHJDPHXVHVD'JUDSKLFVOLEUDU\([SODLQZK\DOLQNHUZRXOGQHHGWREHXVHGDIWHUFRPSLODWLRQ
>@
>@
([SODLQZK\WKHSURJUDPPHUFRXOGXVHLQWHUPHGLDWHFRGHIRUWKHILQDOSURGXFW
>@
'HVFULEHZKDWLVPHDQWE\WKHWHUPಪDVVHPEOHUಪ
>@
L ([SODLQZKDWLVPHDQWE\DOLEUDU\JLYLQJRQHH[DPSOHRIZKHQRQHPD\EHXVHG
>@
LL 'HVFULEHRQHDGYDQWDJHRIWKHXVHRIOLEUDU\ILOHVWRSURJUDPPHUV
>@
LLL 'HVFULEHRQHGLVDGYDQWDJHRIWKHXVHRIOLEUDU\ILOHVWRSURJUDPPHUV
>@
LY ([SODLQKRZOLQNHUVDUHXVHGGXULQJWKHFRPSLODWLRQSURFHVV
7KHWHDPLVXVLQJ5DSLG$SSOLFDWLRQ'HYHORSPHQW
7KHVRIWZDUHWHDPXVHDSUHEXLOWOLEUDU\WRFUHDWHWKH*UDSKLFDO8VHU,QWHUIDFH
L *LYHWZRDGYDQWDJHVWRWKHVRIWZDUHWHDPRIXVLQJDOLEUDU\
>@
LL 7KHSURJUDPLVFRPSLOHG([SODLQWKHSURFHVVRIFRPSLODWLRQLQFOXGLQJKRZFRGHIURPWKHOLEUDU\
EHFRPHVSDUWRIWKHILQLVKHGSURJUDPMXVWLI\LQJZK\HDFKVWDJHLVQHFHVVDU\
>@
E :KHQWUDQVODWLQJFRPSXWHUODQJXDJHVLQWHUPHGLDWHFRGHPD\EHSURGXFHG
([SODLQWKHQHHGIRULQWHUPHGLDWHFRGHDQGLWVSXUSRVHLQDYLUWXDOPDFKLQH
7KHTXDOLW\RIZULWWHQFRPPXQLFDWLRQZLOOEHDVVHVVHGLQ\RXUDQVZHUWRWKLVTXHVWLRQ
>@
INP
STA num
loop LDA total
ADD num
STA total
LDA count
ADD one
STA count
SUB num
BRZ end
BRA loop
end LDA total
OUT
HLT
one DAT 1
num DAT 0
count DAT 0
total DAT 0
7KHFRGHXVHVGLUHFWDGGUHVVLQJ'HVFULEHRQHRWKHUPRGHRIDGGUHVVLQJ
>@
E 6WDWHZKDWWKHSURJUDPRXWSXWVDUHIRUWKHIROORZLQJLQSXWV
,QSXW 2XWSXW
>@
7KHIROORZLQJGDWDLVDOVRVWRUHGDERXWHDFKZHEVLWH
$FFHVVOHYHOQHHGHG 1-4
,ILWLVDYDLODEOHDOOWKHWLPH true RUMXVWOXQFKWLPHVDQGRXWRIZRUNKRXUV false
6RDZHEVLWHZKLFKLVDYDLODEOHWRXVHUVRIDFFHVVOHYHODQGDERYHDOOWKHWLPHZRXOGKDYHWKHGHWDLOV[2,
true]VWRUHG
$ZHEVLWHDFFHVVLEOHWRXVHUVRIDFFHVVOHYHODQGDERYHRQO\RXWVLGHRIZRUNKRXUVZRXOGKDYHWKHGHWDLOV
[3, false]VWRUHG
&RPSOHWHWKHIXQFWLRQhashZKLFKWDNHVLQDVWULQJDQGUHWXUQVWKHKDVKHGYDOXH
<RXFDQDVVXPH\RXKDYHDFFHVVWRWKHIROORZLQJWKUHHIXQFWLRQV
asc()ಥWKLVWDNHVLQDFKDUDFWHUDQGUHWXUQVLWV$6&,,YDOXH)RUH[DPSOHasc (A)UHWXUQV
locate()ಥWKLVWDNHVLQDVWULQJDQGFKDUDFWHUDQGUHWXUQVWKHORFDWLRQRIWKHILUVWLQVWDQFHRIWKHFKDUDFWHU
ZLWKWKHVWULQJVWDUWLQJDWFKDUDFWHU )RUH[DPSOHlocate(electricityc UHWXUQV
upper()ಥWKLVWDNHVLQDVWULQJDQGUHWXUQVWKH833(5&$6(YHUVLRQ)RUH[DPSOHupper(hello)
UHWXUQV+(//2
<RXVKRXOGDOVRDVVXPHWKDWDOOJLYHQZHEVLWHQDPHVXVHOHWWHUVEXWQRQXPEHUVRUV\PEROV
<RXZLOOEHJLYHQFUHGLWIRUWKHUHDGDELOLW\RI\RXUFRGH
>@
)LJ
:ULWHH[WUDFRGHVRWKHSURJUDPDOVRGLVSOD\VWKHUHPDLQGHU
>@
5HIHUULQJWRH[DPSOHVLQWKHFRGHLQ)LJH[SODLQZKDWKDSSHQVLQ/H[LFDO$QDO\VLV
>@
F 6WDWHWKHQDPHRIWKHVWDJHRIFRPSLODWLRQWKDWGLUHFWO\IROORZV/H[LFDO$QDO\VLV
>@
2QHRIWKHWDEOHVFDOOHGSongKDVWKHILHOGV
$EDQGFDOOHG5DQGRP%LWVUHPRYHVWKHLUSHUPLVVLRQIRUWKHLUVRQJVWREHVWUHDPHG
7KHFRPSDQ\UHPRYHVDOOWKHVRQJVEHORQJLQJWR5DQGRP%LWVIURPWKHLUVHUYLFH
L ,GHQWLI\WKHODZZLWKZKLFKWKHFRPSDQ\DUHFRPSO\LQJ
>@
LL :ULWHDQ64/VWDWHPHQWWKDWZLOOUHPRYHDOOVRQJVE\5DQGRP%LWVIURPWKHWDEOHSong
>@
LLL :KHQWKHVRQJVKDYHEHHQUHPRYHGH[SODLQZKDWPXVWKDSSHQWRWKHWDEOHPlayListEntryLIWKH
GDWDEDVHLVWRUHWDLQLWVUHIHUHQWLDOLQWHJULW\ <RXDUHQRWH[SHFWHGWRZULWHWKH64/WRGRWKLV
>@
7KHFRPSXWHUVLQDFDUVKRZURRPDUHFRQQHFWHGLQDQHWZRUNZLWKDOOGDWDEHLQJKHOGLQDFHQWUDOVHUYHU7KH
FRPSXWHUVDUHXVHGE\WKHVDOHVPHQEXWFDQDOVREHXVHGE\FXVWRPHUVWRZDWFKYLGHRVRIWKHFDUVWKDWDUHRQ
RIIHU
:KDWLVPHDQWE\DSURWRFRO"
>@
352'8&7 3URGXFW,G3URGXFW7\SH6L]H3ULFHಸ
25'(5 2UGHU,G2UGHU'DWH3URGXFW,Gಸ
)RUH[DPSOHWKHSURGXFWZKLFKKDV3URGXFW,GLVDODUJHEHQFKZKLFKKDVDSULFHRI
([SODLQZK\WKLVGHVLJQZRXOGEHLQHIILFLHQWIRUFXVWRPHUV
>@
6(/(&76XUQDPH7LWOH3KRQH1R
)520&86720(5
:+(5(7RZQ ಮ&RYHQWU\ಯ
25'(5%<6XUQDPH
'HVFULEHWKHSXUSRVHRIWKLVFRGHDQGJLYHRQHVLWXDWLRQLQZKLFKLWPD\EHXVHG
>@
3URGXFLQJ&*,UHTXLUHVORWVRISURFHVVLQJSRZHUDQGVRWKHFRPSDQ\KDVDODUJHQXPEHURIKLJKSHUIRUPDQFH
FRPSXWHUV
7KHFRPSDQ\LVZRUNLQJRQVFHQHVIURPWKHODWHVW6WHOODU6FXIIOHVILOP7KHUHLVVWULFWVHFXULW\DURXQGWKHILOP
DQGWKHUHDUHZRUULHVDERXWXQDXWKRULVHGSHRSOHJDLQLQJDFFHVVWRWKHFRPSDQ\ VQHWZRUNDQGSXWWLQJFOLSVIURP
WKHILOPRQWKH,QWHUQHW
'LVFXVVWRZKDWH[WHQWHDFKRIWKHIROORZLQJODZVLVLQWHQGHGWRDGGUHVVWKHLVVXHRIVRPHRQHDFFHVVLQJDQG
GLVWULEXWLQJFOLSVRIWKHILOPRQOLQH
WKH&RPSXWHU0LVXVH$FW
WKH&RS\ULJKW'HVLJQDQG3DWHQWV$FW
WKH'DWD3URWHFWLRQ$FW
>@
(OHJDQW%DJVSXWVLWVZHEVLWHRQLWVVHUYHUVZKLFKDUHJLYHQDSXEOLF,3DGGUHVV,WDOVRSXUFKDVHVWKHGRPDLQ
QDPHelegantbagsonline.co.uk.
([SODLQWKHDXWRPDWHGSURFHVVWKDWWDNHVSODFHWKDWDOORZVFXVWRPHUVWRDFFHVVWKHVLWHZKHQWKH\HQWHUWKH
GRPDLQQDPHLQWRWKHLUEURZVHU
>@
L 'HVFULEHZKDWLVPHDQWE\WKHWHUPಪORJLFDOSURWRFROಫ
>@
LL ([SODLQRQHDGYDQWDJHRIOD\HULQJORJLFDOSURWRFROVVHSDUDWHO\IURPSK\VLFDOSURWRFROV
>@
'LVFXVVKRZWKHEDQNFDQHQVXUHWKHDFFXUDF\RILWVGDWDDQGWKHLPSRUWDQFHRIGRLQJVR
>@
>@
E ,QFHUWDLQVFHQDULRVWKHXVHU V,3DGGUHVVLVORJJHGLQDGDWDEDVH
L 'HVFULEHZKDWLVPHDQWE\DQ,3$GGUHVV
>@
LL ([SODLQZK\WKHSURJUDPPHUVKDYHFKRVHQWRVWRUHWKHXVHU V,3DGGUHVV
>@
L 7KHXVHUQDPHDGPLQLVHQWHUHGLQWRWKHIRUP
6WDWHZKDWWKHYDOXHRIVWDWHPHQWZRXOGEHDIWHUOLQHRIWKHFRGHLQ)LJLVUXQ
>@
LL 6WDWHZKDWWKHYDOXHRIKDVK,Q'%ZRXOGEHDIWHUOLQHRIWKHFRGHLQ)LJLVUXQ
>@
7KHXVHUQDPH'HQYHU- '5237$%/(XVHUVಥಥLVHQWHUHGLQWRWKHIRUP
L 6WDWHZKDWWKHYDOXHRIVWDWHPHQWZRXOGEHDIWHUOLQHLVUXQ
>@
LL 'HVFULEHZKDWKDSSHQVZKHQOLQHLVUXQ
>@
LLL 6WDWHWKHQDPHRIDODZWKHXVHUKDVEURNHQE\HQWHULQJWKHXVHUQDPH
'HQYHU- '5237$%/(XVHUV
>@
7KHIRUXPVWRUHVGHWDLOVRILWVXVHUVLQWKHWDEOHFDOOHGUsers$QH[WUDFWRIUsersLVVKRZQEHORZ
1 Zeus 8dfa46a79248037752bba6166fcb34f8 1
2 Hera 74d39d60507eb55e000c6ec5c1265891
3 Poseidon b015d770d0208ddcce2c2c719fe29371
'HVFULEHZKDWLVPHDQWE\WKHWHUPಪSULPDU\NH\ಫJLYLQJDQH[DPSOHIURPWKHWDEOHDERYH
>@
L 'HVFULEHZKDWLVPHDQWE\WKHWHUPಪKDVKಫ
>@
LL 'HVFULEHRQHDGYDQWDJHWRVWRULQJWKHSDVVZRUGDVDKDVK
>@
>@
1 Zeus 8dfa46a79248037752bba6166fcb34f8 1
2 Hera 74d39d60507eb55e000c6ec5c1265891
3 Poseidon b015d770d0208ddcce2c2c719fe29371
6RPHWLPHVXVHUVFDQKDYHWKHLUDFFRXQWVORFNHGLIWKH\EHKDYHLQDSSURSULDWHO\:KHQWKLVLVWKHFDVHWKH
lockedILHOGLVVHWWRUDWKHUWKDQ
:ULWHDQ64/VWDWHPHQWWKDWORFNVWKHDFFRXQWRIWKHXVHUHades
>@
H 7KHIXQFWLRQcheckAccessWDNHVLQWKHSDVVZRUGWKHXVHUKDVHQWHUHG givenPassword DORQJZLWKWKH
SDVVZRUGKDVK passwordHash DQGORFNHGYDOXH locked
passwordHashDQGlockedKDYHDOUHDG\EHHQH[WUDFWHGIURPWKHGDWDEDVHEHIRUHEHLQJSDVVHGWRWKH
IXQFWLRQ,WVKRXOGUHWXUQWKHYDOXHtrueLIDXVHUVKRXOGEHDOORZHGDFFHVVWRDV\VWHPDQGfalseLIWKH\DUHQಫW
<RXUIXQFWLRQVKRXOGPDNHXVHRIWKHSUHZULWWHQIXQFWLRQhash()ZKLFKWDNHVLQDVWULQJDQGUHWXUQVWKHKDVK
RIWKDWVWULQJ
HJ
hash("Hello")UHWXUQVf7ff9e8b7bb2e09b70935a5d785e0cc5d9d0abf0
&RPSOHWHWKHIXQFWLRQcheckAccess
function checkAccess (givenPassword, passwordHash, locked)
'HVFULEHZKDWWKH64/VWDWHPHQWEHORZGRHV
>@
7KH64/VWDWHPHQWEHORZVKRZVDOOWKHGDWDIRUIOLJKWVJRLQJWR+DOLID[5HZULWHLWVRLWLQVWHDGUHPRYHVDOO
IOLJKWVWR+HDWKURZRQWK-XO\
>@
L ([SODLQZK\SURWRFROVDUHLPSRUWDQWRQDQHWZRUN
>@
LL 6WDWHWKHQDPHRIWKHIRXUOD\HUVRIWKH7&3,3VWDFN
>@
7KHZHEVLWHXVHVDGDWDEDVHZLWKWKHIROORZLQJVWUXFWXUH
7KHGDWDEDVHPDQDJHPHQWV\VWHPHQVXUHVUHIHUHQWLDOLQWHJULW\LVPDLQWDLQHG
([SODLQZKDWLVPHDQWE\UHIHUHQWLDOLQWHJULW\JLYLQJDQH[DPSOHZKLFKUHIHUVWRWKHGDWDEDVHGHVFULEHGDERYH
>@
E :KHQHYHUDUHYLHZLVDGGHGWRWKHV\VWHPWKHUHVWDXUDQWಫVDYHUDJHUDWLQJLVXSGDWHG7KLVWUDQVDFWLRQLV$&,'
7KH$LQ$&,'UHIHUVWR$WRPLF
'HVFULEHZKDWLVPHDQWE\WKHWHUPಪ$WRPLFಫLQWKHFRQWH[WRI$&,'WUDQVDFWLRQV<RXVKRXOGUHIHUWRWKHH[DPSOH
RIDUHYLHZEHLQJDGGHG
>@
7KH$LQ$&,'UHIHUVWR$WRPLF
6WDWHZKDWWKHOHWWHUV&,'UHIHUWRLQ$&,'
&
'
>@
G 7KHGDWDEDVHSUHYLRXVO\VWRUHGUHYLHZVXVLQJWKH$6&,,FKDUDFWHUVHW$6&,,XVHVE\WHSHUFKDUDFWHU,WLV
GHFLGHGWRVZLWFKWRWKH8QLFRGH87)FKDUDFWHUVHWZKLFKXVHVE\WHVSHUFKDUDFWHU
*LYHDQDGYDQWDJHDQGGLVDGYDQWDJHRIFKDQJLQJFKDUDFWHUVHWVIURP$6&,,WR8QLFRGH87)
$GYDQWDJH
'LVDGYDQWDJH
>@
>@
E 6KRZKRZWKHKH[DGHFLPDOQXPEHU%LVUHSUHVHQWHGLQGHQDU\
>@
F 6KRZKRZWKHGHQDU\QXPEHUಥLVUHSUHVHQWHGLQVLJQDQGPDJQLWXGHELQDU\
>@
G &RPSOHWHWKHIROORZLQJELQDU\VXEWUDFWLRQ6KRZ\RXUZRUNLQJ
01001001-
00101111
>@
>@
I 6KRZWKHGHQDU\QXPEHUಥLQIORDWLQJSRLQWELQDU\IRUPUHSUHVHQWLQJWKHPDQWLVVDDQGH[SRQHQWLQWZRಫV
FRPSOHPHQWXVLQJDVIHZELWVDVSRVVLEOH6KRZ\RXUZRUNLQJ
>@
'HWDLOVRISURGXFWVDUHVWRUHGRQDVWRFNGDWDEDVH
7KHTXDQWLW\RIDSDUWLFXODUSURGXFWLQVWRFNLVVWRUHGDVDELQDU\QXPEHUXVLQJWZRE\WHV
7KHUHDUHWLQVRIEHDQVOHIWLQVWRFN
+RZZRXOGWKLVTXDQWLW\EHUHSUHVHQWHGDVDELQDU\QXPEHULQWKHFRPSXWHU"
>@
E 7KHQDPHRIDSURGXFWLVVWRUHGXVLQJFKDUDFWHUVIURPWKHFRPSXWHU VFKDUDFWHUVHW
L ([SODLQZKDWLVPHDQWE\WKHFKDUDFWHUVHWRIDFRPSXWHU
>@
LL ([SODLQKRZFRGHVDUHXVHGWRUHSUHVHQWDFKDUDFWHUVHW
>@
(DFKDLUSRUWKDVDWKUHHOHWWHUFRGH7KHDLUOLQHಫVV\VWHPVWRUHVWKHDLUSRUWVDQGFRUUHVSRQGLQJDLUSRUWFRGHV
&RGH 1DPH
%&1 %DUFHORQD
,QWHUQDWLRQDO
'8% 'XEOLQ
/,6 /LVERQ
/+5 /RQGRQ+HDWKURZ
&'* 3DULV&KDUOHV'H
*DXOOH
5.9 5H\NMDYLN
)&2 5RPH)LXPLFLQR
,QDSURJUDPPLQJODQJXDJHRUSVHXGRFRGHRI\RXUFKRLFHZULWHDSURJUDPWKDWWDNHVLQDQDLUSRUWFRGHDQGILQGV
DQGGLVSOD\VWKHDLUSRUWQDPH<RXFDQDVVXPHD'DUUD\FDOOHGDLUSRUWVKDVDOUHDG\EHHQGHFODUHGDQG
SRSXODWHGZLWKWKHGDWDDERYH7KHUHLVQRQHHGWRYDOLGDWHWKHLQSXWDQG\RXFDQDVVXPHWKDWWKHXVHUZLOORQO\
HQWHUDFRGHWKDWH[LVWVLQWKHDUUD\
>@
>@
E 7ZRHTXDO XQVLJQHG LQWHJHUVVKRZQEHORZDUHDGGHGWRJHWKHU&DOFXODWHWKHUHVXOWVKRZLQJ\RXUZRUNLQJ
>@
F &RQYHUWWKHGHQDU\QXPEHULQWRDQELWELQDU\QXPEHUXVLQJWZRಫVFRPSOHPHQW
>@
G 'HVFULEHZK\WZRಫVFRPSOHPHQWPD\EHSUHIHUDEOHWRVLJQDQGPDJQLWXGH
>@
H 8VLQJIORDWLQJSRLQWUHSUHVHQWDWLRQZLWKELWVIRUWKHH[SRQHQWDQGELWVIRUWKHPDQWLVVDDGGWRJHWKHUWKH
IROORZLQJIORDWLQJSRLQWELQDU\QXPEHUVDQGZULWHWKHDQVZHUDVDQRUPDOLVHGIORDWLQJSRLQWQXPEHUZLWKELWV
PDQWLVVDDQGELWH[SRQHQW
DQG
>@
>@
$6&,,
(%&',&
([SODLQUHIHUULQJWR$6&,,DQG(%&',&ZKDWZRXOGKDSSHQLIFRPSXWHUVZHUHWRXVHGLIIHUHQWFKDUDFWHUVHWV
ZKHQFRPPXQLFDWLQJ
>@
$GGWKHIROORZLQJWKUHHQXPEHUVWRJHWKHUDQGJLYHWKHDQVZHULQWKHIRUPDWGHVFULEHG<RXPXVWVKRZ\RXU
ZRUNLQJ
>@
L $QELWVLJQDQGPDJQLWXGHELQDU\QXPEHU
>@
LL $QELWWZR VFRPSOHPHQWELQDU\QXPEHU
>@
F LVVKLIWHGWZRSODFHVWRWKHOHIW
L 6KRZWKHUHVXOW
>@
LL ,GHQWLI\ZKDWDULWKPHWLFRSHUDWLRQWKLVVKLIWLVHTXLYDOHQWWR
>@
>@
H $Q$1'RSHUDWLRQZLWKWKHPDVNLVDSSOLHGWRWKHELQDU\QXPEHU6KRZWKHUHVXOW
>@
I &RQYHUWWKHXQVLJQHGELQDU\QXPEHUWR
L 'HQDU\
>@
LL +H[DGHFLPDO
>@
L $QELWELQDU\QXPEHU
>@
LL $ELQDU\FRGHGGHFLPDOQXPEHU
>@
LLL $QRFWDOQXPEHU
>@
E 8VLQJWKHGHQDU\QXPEHUDVDQH[DPSOHH[SODLQWKHUHODWLRQVKLSEHWZHHQELQDU\DQGKH[DGHFLPDO
UHSUHVHQWDWLRQV
>@
L &KDQJHWKHGHQDU\QXPEHULQWRDWZR VFRPSOHPHQWELWELQDU\QXPEHU
>@
LL &KDQJHWKHGHQDU\QXPEHULQWRDWZR VFRPSOHPHQWELWELQDU\QXPEHU
>@
G
L $GGWKHWZRELQDU\DQVZHUVZKLFK\RXREWDLQHGXVLQJELWDULWKPHWLF
<RXPXVWVKRZ\RXUZRUNLQJ
>@
LL ([SODLQZK\\RXUDQVZHUWRWKHDGGLWLRQVXPLVZURQJ
>@
6WDWHKRZWKHZRUG&$%ZRXOGEHUHSUHVHQWHGLQWKLVFRGH
>@
7KHIROORZLQJDOJRULWKPWDNHVDPHVVDJHDVELQDU\GLJLWVRQHDWDWLPHIURPDVRXUFHDQGRXWSXWVWKHPHVVDJH
WKDWLVEHLQJWUDQVPLWWHG
E ([SODLQWKHSXUSRVHRIOLQH
>@
>@
:ULWHWKLVURXWLQHLQDKLJKOHYHOODQJXDJH\RXKDYHVWXGLHGVWDWLQJWKHQDPHRIWKHODQJXDJH\RXKDYHXVHG
<RXVKRXOGXVHJRRGSURJUDPZULWLQJWHFKQLTXHVWRHQVXUHWKDW\RXUURXWLQHLVHDV\WRXQGHUVWDQG
<RXFDQDVVXPHWKDWWKHPHVVDJHFRQVLVWVRQO\RIWKHFKDUDFWHUV$%&DQG'
1DPHRIODQJXDJH
5RXWLQH
>@
1DPHWZRRIWKHVHIDFLOLWLHV'HVFULEHKRZHDFKFDQEHXVHGZKHQZULWLQJWKHURXWLQHLQSDUW H
>@
7KHIROORZLQJELQDU\QXPEHUVDUHLQWKHIRUPDWGHVFULEHG
&DOFXODWHWKHLUGHQDU\YDOXHV
<RXPXVWVKRZ\RXUZRUNLQJ
L
>@
LL
>@
5,6&DQG&,6&DUHW\SHVRISURFHVVRUDUFKLWHFWXUH
'HVFULEHWKHGLIIHUHQFHVEHWZHHQWKHWZRDUFKLWHFWXUHV
>@
L &RQYHUWWKHGHQDU\YDOXHWRQRUPDOLVHGWZR VFRPSOHPHQWELQDU\LQWKHIRUPDWGHVFULEHG
<RXPXVWVKRZ\RXUZRUNLQJ
>@
LL &RQYHUWWKHIROORZLQJQXPEHUWRGHQDU\
<RXPXVWVKRZ\RXUZRUNLQJ
>@
>@
D *LYHWKHQXPEHULQELQDU\DVDQELWXQVLJQHGLQWHJHU
>@
E 5HSUHVHQWWKHQXPEHULQQRUPDOLVHGIORDWLQJSRLQWELQDU\QRWDWLRQXVLQJELWVIRUWKHPDQWLVVDIROORZHGE\
ELWVIRUWKHH[SRQHQWERWKLQWZR VFRPSOHPHQWELQDU\
>@
F 5HSUHVHQWWKHQXPEHULQQRUPDOLVHGIORDWLQJSRLQWELQDU\QRWDWLRQZLWKWKHPDQWLVVDDQGH[SRQHQWERWKLQ
WZR VFRPSOHPHQWELQDU\XVLQJDVIHZELWVDVSRVVLEOH
>@
)RUWKHQHZVOHWWHUFOXEPHPEHUVVHQGLQGHVFULSWLRQVRIJDPHVWKH\SOD\XVLQJFKHVVQRWDWLRQZKLFKFRQVLVWRI
DVHTXHQFHRIV\PEROVOHWWHUVDQGQXPEHUV,WLVLPSRUWDQWWKDWWKHVHGHVFULSWLRQVDUHDFFXUDWH
2QHPHPEHUVHQGVLQWKHGHVFULSWLRQDVDSODLQWH[WILOH7KHWH[WILOHLVVDYHGXVLQJ8QLFRGHDQH[WUDFWRIZKLFK
LVVKRZQEHORZ
L ([SODLQZKDWLVPHDQWE\WKHWHUPಪ8QLFRGHಫ
>@
:KHQ$VLPRSHQVWKLVILOHRQWKHWH[WHGLWRURQKLVFRPSXWHULWORRNVDVEHORZ
LL ([SODLQZK\WKHWH[WPD\QRWEHGLVSOD\LQJFRUUHFWO\
>@
6KRZ\RXUZRUNLQJ
>@
L %LQDU\
>@
LL 'HQDU\
>@
E 6KRZDUHSUHVHQWDWLRQRIGHQDU\LQELWVXVLQJ
L 6LJQDQG0DJQLWXGH
>@
LL 7ZR V&RPSOHPHQW
>@
L ,GHQWLI\ZKHWKHURUQRWWKHQXPEHULVQRUPDOLVHG
>@
LL 6WDWHKRZ\RXDUULYHGDW\RXUDQVZHUWRSDUW L
>@
G 7ZRIORDWLQJSRLQWQXPEHUVDUHVKRZQEHORZ&DOFXODWHWKHDQVZHURIWKHVHFRQGQXPEHUVXEWUDFWHGIURPWKH
ILUVW<RXPXVWVKRZ\RXUZRUNLQJDQGHQVXUH\RXUDQVZHULVQRUPDOLVHG
>@
j.toString()FRQYHUWVjWRDVWULQJ,WLVWKH-DYD6FULSWHTXLYDOHQWWRstr(j).
/LQHSXVKHVtotalRQWRDVWDFN'HILQHWKHWHUPVWDFNVWDWLQJZK\LWLVVXLWHGWRKROGLQJDZHEEURZVHUಫV
KLVWRU\
>@
>@
E &RQYHUWWKHGHQDU\QXPEHUWRDQELWQXPEHUXVLQJ
L 7ZRಫVFRPSOHPHQWUHSUHVHQWDWLRQ
>@
LL 6LJQDQG0DJQLWXGHUHSUHVHQWDWLRQ
>@
F 7KHWZRYDOXHVEHORZDUHVWRUHGXVLQJXQVLJQHGELQDU\&DOFXODWHWKHVXEWUDFWLRQRIIURP
6KRZ\RXUZRUNLQJ
>@
>@
L &RQYHUWWKHGHQDU\QXPEHUWRDQXQVLJQHGELWELQDU\QXPEHU
>@
LL &RQYHUWWKHGHQDU\QXPEHUWRKH[DGHFLPDO
>@
L &RQYHUWWKHGHQDU\QXPEHUWRDQELWELQDU\QXPEHUZLWKVLJQDQGPDJQLWXGHUHSUHVHQWDWLRQ
>@
LL &RQYHUWWKHGHQDU\QXPEHUWRDQELWELQDU\QXPEHUZLWKWZRಫVFRPSOHPHQWUHSUHVHQWDWLRQ
>@
F ([SODLQKRZXVLQJELWVKLIWWKHXQVLJQHGELQDU\QXPEHUFDQEHGLYLGHGE\
>@
>@
7KHIULGJHXVHVWKH$6&,,FKDUDFWHUVHW*LYHRQHGLVDGYDQWDJHRIWKHIULGJHXVLQJ$6&,,UDWKHUWKDQ8QLFRGH
>@
>@
E &RQYHUWWKHXQVLJQHGELQDU\QXPEHUWRGHQDU\
>@
F &RQYHUWWKHGHQDU\QXPEHUWRKH[DGHFLPDO
>@
0DQWLVVD ([SRQHQW
&RQYHUWWKHQXPEHUWRGHQDU\VKRZLQJ\RXUZRUNLQJ
>@
H *LYHQWKDWFRPSXWHUVVWRUHHYHU\WKLQJLQELQDU\H[SODLQKRZWKH\DUHDEOHWRUHSUHVHQWWH[W
>@
'HVFULEHZKDWLVPHDQWE\WKHWHUPಪ$6&,,ಫ
>@
7KHHQFU\SWLRQDOJRULWKPZRUNVLQWKHIROORZLQJZD\
$PHVVDJHRIXSWRFKDUDFWHUV VSDFHVDQGSXQFWXDWLRQDUHQRWLQFOXGHG LVSODFHGLQDÈDUUD\$Q\
OHIWRYHUVSDFHVDUHILOOHGZLWKUDQGRPOHWWHUV7KHPHVVDJH,/29(&20387(56&,(1&(EHFRPHV
I L O V E
C O M P U
T E R S U
I E N C E
T O W R M
7KHNH\LVDVHTXHQFHRIWHQQXPEHUV
,QWKLVH[DPSOHZHZLOOXVH1 2 3 4 5 1 2 3 4 5.7KHILUVWQXPEHUVVWDWHKRZPDQ\VSDFHVWKHURZV
WRPXVWEHURWDWHGULJKW
$NH\ZLWKWKHILUVWGLJLWV1 2 3 4 5ZRXOGUHVXOWLQ
E I L O V
P U C O M
R S C T E
E N C E I
T O W R M
7KHQH[WGLJLWVVWDWHKRZPDQ\VSDFHVGRZQWKHFROXPQVWRVKRXOGEHURWDWHG
$SSO\LQJWKHODVWGLJLWV1 2 3 4 5WRWKHJULGDERYHZRXOGJLYH
E O C T M
P I W E E
R U L R I
E S C O M
3DUWRIWKHSVHXGRFRGHIRUWKHDOJRULWKPLVZULWWHQEHORZ
for i = 0 to 4
ಗಗಗx = getNextDigitInKey()
ಗಗಗshiftRow(i,x)
next i
for i = 0 to 4
ಗಗಗx = getNextDigitInKey()
ಗಗಗshiftColumn(i,x)
next i
>@
E 'HPRQVWUDWHKRZWKHERWWRPE\WHEHORZLVVXEWUDFWHGIURPWKHWRSE\WH6KRZ\RXUZRUNLQJ
>@
F &RQYHUWWKHELQDU\QXPEHUVKRZQEHORZWRKH[DGHFLPDO
>@
>@
H 7KHQXPEHUVEHORZDUHUHSUHVHQWHGLQIORDWLQJSRLQWIRUPDWZLWKDELWPDQWLVVDLQWZRಫVFRPSOHPHQWIROORZHG
E\DELWH[SRQHQWLQWZRಫVFRPSOHPHQW1RUPDOLVHWKHQXPEHUVVKRZQEHORZVKRZLQJ\RXUZRUNLQJ
>@
>@
%\WH
$1'
5HVXOW
>@
J 6KRZWKHE\WHEHORZDIWHUKDYLQJDQ25DSSOLHGZLWKWKHPDVNLQJE\WH
%\WH
25
5HVXOW
>@
>@
E 7KHFKDUDFWHUಪ$ಫLQWKH$6&,,FKDUDFWHUVHWLVUHSUHVHQWHGE\WKHGHQDU\YDOXH:ULWHWKHELQDU\
UHSUHVHQWDWLRQIRUWKH$6&,,FKDUDFWHUಪ+ಫ6KRZ\RXUZRUNLQJ
>@
>@
E &RQYHUWWKHELQDU\QXPEHULQWRDKH[DGHFLPDOQXPEHU
>@
F &RQYHUWWKHWZRಫVFRPSOHPHQWELQDU\QXPEHULQWRDGHQDU\QXPEHU
>@
G &DOFXODWHWKHVXEWUDFWLRQRIWKHIROORZLQJWZRELWELQDU\QXPEHUV
<RXPXVWVKRZ\RXUZRUNLQJ
>@
L &RQYHUWWKHGHQDU\QXPEHUಥWRDQELWELQDU\QXPEHUZLWKWZRಫVFRPSOHPHQWUHSUHVHQWDWLRQ
>@
LL &RQYHUWWKHXQVLJQHGELQDU\QXPEHUWRKH[DGHFLPDO
>@
LLL &RQYHUWWKHGHQDU\QXPEHUWRKH[DGHFLPDO
>@
LY &RQYHUWWKHKH[DGHFLPDOQXPEHU$WRELQDU\
>@
>@
(1'2)48(67,213$3(5
3RZHUHGE\7&3') ZZZWFSGIRUJ