Программа подсчета числа вхождений текста B в текст A с перекрытиями — Pascal(Паскаль)

Program N42;
Label 1, 2, 3;
Var 
A, B: String; 
C : String; 
K : Integer; 
p : Integer; 
N : Integer; 
 
Begin
 
WriteLn
('PASCAL: Подсчет числа вхождений текста B в текст A с перекрытиями.'); 
 
WriteLn ('Введите текст A:');
ReadLn (A);
C := A;
 
WriteLn ('Введите текст B:'); 
ReadLn (B); 
 
If Length (B) > Length (A) Then 
Begin
WriteLn
('Текст B длиннее текста A, поэтому он не может входить в текст A.');
Goto 2;
End;
 
N := 0; 
 
K := Length (B);
1: p := Pos (B, A); 
If (p = 0) And (N = 0) Then
Begin
WriteLn ('Вхождений текста A в текст B нет.');
Goto 2;
End;
 
If (p = 0) Then Goto 3; 
Delete (A, 1, K - 1 + p); 
 
N := N + 1; 
Goto 1;
 
3: WriteLn ('В текст "', C, '" текст "', B, '" входит ', N, ' раз(а).');
 
2: ReadLn; 
End. 

Leave a Comment

− 6 = 3