
A SIMILAR_TEXT funkcióblokk kiszámolja két karakterlánc hasonlóságát.
A két karakterlánc hasonlóságának kiszámítása a Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) című könyvben leírt módszer szerint történik. Figyeljen arra, hogy ez az implementáció nem használ stack-et, mint Oliver pseudokódjában, hanem rekurzív hívásokat, amelyek növelhetik a teljesítményt (de nem kell). Tegyük fel továbbá, hogy ez az algoritmus O(N³) komplexitású, ahol N a leghosszabb karakterlánc hossza.
A bevitel meghatározza az első karakterláncot, amelyet össze kell hasonlítani.
A bevitel meghatározza a második karakterláncot, amelyet össze kell hasonlítani.
A kimenet visszaadja az egyező karakterek számát mindkét karakterláncban.
Az egyező karakterek számának meghatározása úgy történik, hogy keressük a leghosszabb első közös részkarakterláncot, majd ezt rekurzívan megismételjük a prefixumok és szuffixumok számára. Az összes megtalált közös részkarakterlánc hossza összeadva adja az eredmény.
A kimenet visszaadja a hasonlóságot százalékos értékként lebegőpontos számként. Ehhez az eredményt elosztjuk a megadott karakterláncok hosszának átlagával, majd megszorozzuk 100-zel.