Funktionsblok SIMILAR_TEXT

Funktionsblokken SIMILAR_TEXT beregner ligheden mellem to strengværdier.

Beregningen af ligheden mellem to strengværdier udføres efter den i Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) beskrevne metode. Bemærk, at denne implementering ikke bruger en stack som i Olivers pseudokode, men derimod rekursive kald, der kan øge ydeevnen (men ikke nødvendigvis). Bemærk også, at kompleksiteten af denne algoritme er O(N³), hvor N er længden af den længste strengværdi.

Indgang STR1

Indgangen definerer den første strengværdi, der skal sammenlignes.

Indgang STR2

Indgangen definerer den anden strengværdi, der skal sammenlignes.

Udgang SIM

Udgangen returnerer antallet af overensstemmende tegn i begge strengværdier.

Antallet af overensstemmende tegn beregnes ved at finde den længste første fælles delstrengværdi og derefter gentage dette rekursivt for præ- og suffiks. Længderne af alle de fundne fælles delstrengværdier summeres.

Udgang PERCENT

Udgangen returnerer ligheden som en procentværdi som et flydende tal. Dette gøres ved at dividere resultatet med gennemsnittet af længderne på de angivne strengværdier og derefter multiplicere med 100.