
O bloco de função SIMILAR_TEXT calcula a similaridade entre duas cadeias de caracteres.
O cálculo da similaridade entre duas cadeias de caracteres é realizado pelo método descrito em Programming Classics: Implementing the World's Best Algorithms por Oliver (ISBN 0-131-00413-1). Observe que essa implementação não utiliza uma pilha como no pseudocódigo de Oliver, mas sim chamadas recursivas, que podem melhorar o desempenho (mas não necessariamente). Observe também que a complexidade desse algoritmo é O(N³), onde N é o comprimento da cadeia de caracteres mais longa.
A entrada define a primeira cadeia de caracteres que será comparada.
A entrada define a segunda cadeia de caracteres que será comparada.
A saída retorna o número de caracteres correspondentes em ambas as cadeias de caracteres.
O número de caracteres correspondentes é calculado encontrando a maior primeira subcadeia comum e repetindo isso recursivamente para os prefixos e sufixos. Os comprimentos de todas as subcadeias comuns encontradas são somados.
A saída retorna a similaridade como um valor percentual como número de ponto flutuante. Para isso, o resultado é dividido pela média dos comprimentos das cadeias de caracteres especificadas e multiplicado por 100.