# OK to post homework # Alex Varjabedian, 22-Apr-2024, Homework 26 Help := proc() print(``) end: read("ENGLISH.txt"): ################################ # ---------------------------- # # PART 2 - Consecutive Letters # # ---------------------------- # ################################ eng := ENG(): A := [a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z]: # Calculation freq := table([seq(seq([u_,v_]=0, v_ in A), u_ in A)]): for slength from 2 to 28 do for word in eng[slength] do for i1 from 1 to slength - 1 do freq[[word[i1], word[i1 + 1]]] := freq[[word[i1], word[i1 + 1]]] + 1 od: od: od: pairs := 0: numpairs := 0: triples := 0: for c1 in op(op(freq)) do if rhs(c1) > 0 then pairs := pairs + 1: if rhs(c1) > 9 then numpairs := numpairs + 1 fi: fi: od: bigfreq := table([seq(seq(seq([u_,v_,w_]=0, w_ in A), v_ in A), u_ in A)]): for slength from 3 to 28 do for word in eng[slength] do for i1 from 1 to slength - 2 do bigfreq[[word[i1], word[i1 + 1], word[i1 + 2]]] := bigfreq[[word[i1], word[i1 + 1], word[i1 + 2]]] + 1: od: od: od: for c1 in op(op(bigfreq)) do if rhs(c1) > 0 then triples := triples + 1 fi od: # Output print(pairs): # 593 print(numpairs): # 500 print(triples): # 6639