Описать функцию PosLast(subS,S) целого типа, возвращающую номер позиции, с которой в строке S содержится последнее вхождение подстроки subS. Если в строке S отсутствуют подстроки subS, то функция возвращает 0. пожалуйста, помогите написать программу как можно подробнее. почему она считает с конца? зачем нужно k?
Function PosLast(subs, s: string): byte;
var
i, k: byte;
begin
k:=0;
i:=length(s);
while(i>= 1) and (k=0) do
if copy(s, i, length(subs))=subs then k:=i
else i:=i - 1;
PosLast:= k;
end;
var
s, s1: string;
i: byte;
begin
for i := 1 to 2 do
begin
writeln('Введите строку');
readln(s);
writeln('Введите подстроку');
readln(s1);
writeln('Номер позиции последнего вхождения=', PosLast(s1, s));
writeln;
end;
end.