Загрузка данных


1.program end_with_a;
uses crt;
var
  s: string;
  i, count: integer;
begin
  write('Введите текст: ');
  readln(s);
  count := 0;
  
  for i := 1 to length(s) do
  begin
    // Если текущий символ 'а' и (это конец строки ИЛИ следующий символ пробел)
    if (s[i] = 'а') and ((i = length(s)) or (s[i+1] = ' ')) then
      count := count + 1;
  end;
  
  writeln('Слов, оканчивающихся на "а": ', count);
end.
2.program t_in_last_sentence;
uses crt;
var
  s: string;
  i, count, last_dot_pos: integer;
begin
  write('Введите текст: ');
  readln(s);
  count := 0;
  last_dot_pos := 0;
  
  // Ищем позицию последней точки
  for i := 1 to length(s) do
    if s[i] = '.' then
      last_dot_pos := i;
      
  // Если точка найдена, считаем 'т' после неё
  if last_dot_pos > 0 then
  begin
    for i := last_dot_pos + 1 to length(s) do
      if (s[i] = 'т') or (s[i] = 'Т') then // Учитываем регистр
        count := count + 1;
  end
  else
  begin
    // Если точек нет, считаем во всём тексте
    for i := 1 to length(s) do
      if (s[i] = 'т') or (s[i] = 'Т') then
        count := count + 1;
  end;
  
  writeln('Букв "т" в последнем предложении: ', count);
end.
3.program count_cat;
uses crt;
var
  s: string;
  count, p: integer;
begin
  write('Введите текст: ');
  readln(s);
  count := 0;
  
  // Ищем слово "кот"
  p := Pos('кот', s);
  while p > 0 do
  begin
    count := count + 1;
    // Отрезаем строку до найденного слова включительно
    Delete(s, 1, p + 2); // p + 2, так как длина "кот" = 3
    p := Pos('кот', s);
  end;
  
  writeln('Слово "кот" встречается раз: ', count);
end.