Если правильно поняла знак инверсии(т.е логическое отрицание) перед скобкой распространяется на скобку (В конъюнкция (т.е логич умножение) инверсия А) и на следующую (А дизъюнкция (т.е логичекое сложение) С),а связывает скобки дизъюнкция! =)
Var
c:char;
k:integer;
FlagBlank:boolean;
begin
Read(c);
case c of
'К','к':begin k:=1; FlagBlank:=True end;
' ':begin k:=0; FlagBlank:=False end;
'.':k:=0;
else begin k:=0; FlagBlank:=True end
end;
while c<>'.' do begin
while (not FlagBlank) and (c<>'.') do
begin Read(c); FlagBlank:=(c=' ') end;
while Flagblank and (c<>'.') do
begin Read(c); FlagBlank:=(c=' ') end;
if UpCase(c)='К' then Inc(k);
end;
Writeln(k);
end.
а) Опечатка? Там просто Str, а не Str1 или Str2. В любом случае, функция возвращает длину строки, т.е. для Str1 k = 14, для Str2 k = 3
б) Возвращает 4 символа начиная с 5-го из строки Str1, s = 'su r'
в) Удаляет из Str1 4 символа начиная с 3-го, Str1 будет = 'v rodilas'
г) Вставляет Str2 в Str1 начиная с третьего сивола, Str2 не изменится, Str1 будет = 'v llesesu rodilas'
д) Возвращает позицию Str2 в Str1, n = 3