3.1. Для номера символа Эталонной_строки (j) от 1 до m выполнить
3.1.1. Количество_символовj = 0.
3.1.2. Для номера символа Предложения (i) от 1 до n выполнить
Если Предложениеi = Эталонная_Строкаj то
Количество_символовj = Количество_символовj + 1.
4.1. Min = MaxInt (Максимальное целое).
4.2. Номер_Min = 0. ( Минимум не найден).
4.3. Для номера символа Эталонной_строки (j) от 1 до m выполнить
4.3.1. Если Количество_символовj > 0 ( символ встречается в предложении), то
а) Min = Количество_символовj;
б) Номер_Min = j.
4.4. Вывести Эталонная_Строка Номер_Min и Min.
5. Закончить.
Поиск минимума в данном случае выполняется в условиях некоторой неопределенности, так как неизвестно, какие из массива найденных количеств будут иметь ненулевые значения. Чтобы избежать присваивания переменной Min нуля, на ее место перед началом поиска минимума записывается абсурдно большое число - MaxInt (Максимальное целое), которое затем будет заменено первой же ненулевой величиной.
Программа для приведенного алгоритма будет иметь вид
Program Min_Gl;
Const
Nmax= 20; { Максимальное количество счетчиков гласных }
Var
Predl,Gl:String; { Предложение и эталонная строка }
Kol:Array[1..Nmax] Of Integer; { Счетчики гласных }