Bloc funcțional SIMILAR_TEXT

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.

Intrare STR1

Intrarea definește primul șir de caractere care trebuie comparat.

Intrare STR2

Intrarea definește al doilea șir de caractere care trebuie comparat.

Ieșire SIM

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șire PERCENT

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.