{VERSION 2 3 "SUN SPARC SOLARIS" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 41 "Read in file of homophone \+ cipher commands" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "r ead `homophone.mpl`;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "Encipher \+ a message according to the Homophone cipher" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "ciph:=homophoneenc(`This is a message.`);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Decipher a message" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "homophonedec(ciph);" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "Count the frequencies o f 2-digit blocks in the ciphertext" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "hfreqsort(ciph);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 55 "Count the frequency of 4-digit blocks in the ciphertext" }{TEXT -1 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "hpairfreqsort(ciph);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 "Read in a chunk of The Goldbug. You have \+ to have the file \"testbug.txt\" for this to work." }{TEXT -1 0 "" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "goldbug:=readin(`testbug.txt`):" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 28 "Number of letters in goldbug" } {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "length(goldbug);" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "ciph:=homophoneenc(goldbug ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "hfreq(ciph);" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 34 "Expect frequency of 2-digit blocks " }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "length(goldbug)/ 100.0;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "Sort the frequencies fr om high to low" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "hf reqsort(ciph);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 36 "Sorted frequenc ies of 4-digit blocks" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "q:=hpairfr eqsort(ciph):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "Just output the \+ ten highest" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "q[1..1 0];" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "Output all those with a co unt of more than 3" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "select( x->evalb(x[2]>3),q);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "14 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }