zadach230.PAS

{* Задача 230 *}

Unit ZADACH230;
Interface
Implementation
Begin
 writeln('Дано предложение. Найти, в каком из слов, состоящем из больше 4-х символов, буква "a" встречается реже');
End.

Program zadach230;

Uses zadach230.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Var {* В работе нам потребуются переменные: *}
  i   : longint;
  j   : longint;
  k   : longint;
  l   : longint;
  l1  : longint;
  poz : longint;
  min : longint;
  a   : String;
  b   : String;
  t1  : Array [1..50] Of String;
  t2  : Array [1..50] Of longint;
Begin
  clrscr; {* Стираем всё с экрана *}
  textcolor(11); {* Установить Светло-сине-зеленый цвет текста *}
  write('введите текст: ');
  readln(a);
  l := length(a);
  If (a[l]'.')Or(a[l]'!')Or(a[l]'?'Then
  Begin
    a[l + 1] := ' ';
    inc(l); {* l++ *}
  End;
  Else a[l] := ' ';
    j := 0;
  For i := 1 To l Do {* Цикл для i => [1 .. l] *}
    If a[i] = ' ' Then
    Begin
      l1 := length(b);
      For l := 1 To l1 Do {* Цикл для l => [1 .. l1] *}
        If (b[l] = 'a')Or(b[l] = 'а'Then
          If l1 > = 4 Then
          Begin
            inc(j); {* Увеличиваем j на 1 *}
            t1[j] := b;
            Goto met
          End;
      met : b := '';
    End;
    Else b := b + a[i];
      If t1[1] = '' Then
      Begin
        write('нужных слов не обнаружено');
        readln; {* Ждем подтверждения пользователя *}
        halt;
      End;
  For i := 1 To j Do {* Цикл для i => [1 .. j] *}
  Begin
    b := t1[i];
    l1 := length(b);
    For l := 1 To l1 Do {* Переменная l увеличивается с 1 до l1 *}
      If (b[l] = 'a')Or(b[l] = 'а'Then
        inc(k); {* Прибавим к k единицу *}
    t2[i] := k;
    k := 0;
  End;
  min := t2[1];
  For i := 2 To j Do {* Увеличиваем i от 2 до j с шагом 1 *}
    If min > t2[i] Then
    Begin
      min := t2[i];
      poz := i;
    End;
  write('слово:', t1[poz]);
  readln; {* Приостановка программы. Ожидание Enter *}
End.