
Blocul funcțional SIMILAR_TEXT calculează asemănarea a două șiruri de caractere.
Calcularea asemănării a două șiruri de caractere se face după metoda descrisă în Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Observați că această implementare nu utilizează un stivă ca în pseudo-codul lui Oliver, ci apeluri recursive care pot crește performanța (dar nu sunt obligatorii). Observați și că complexitatea acestui algoritm este O(N³), unde N este lungimea șirului de caractere cel mai lung.
Intrarea definește primul șir de caractere care trebuie comparat.
Intrarea definește al doilea șir de caractere care trebuie comparat.
Ieșirea returnază numărul de caractere care coincid în ambele șiruri de caractere.
Numărul de caractere care coincid se calculează prin căutarea celei mai lungi subșiruri comune și apoi repetarea acestui proces recursiv pentru prefixe și sufixe. Lungimile tuturor subșirurilor comune găsite sunt adunate.
Ieșirea returnază asemănarea ca un procentaj ca număr cu virgulă mobilă. Pentru aceasta, rezultatul este împărțit la media lungimilor șirurilor de caractere specificate și înmulțit cu 100.