Следующая программа вычисляет количествовхождений фрагмента "xyz" в последовательностьсимволов:
последовательность символов p; цел n; символ c1, c2, c3; . . . n := 0; // Инициализируем переменные c1, c2, c3 пробелами c1 = ' '; c2 = ' '; c3 = ' '; встать в начало последовательности p; цикл пока есть непрочитанные элементы в посл-ти p | c1 := c2; c2 := c3; | прочесть очередной элемент посл-ти p в (вых: c3); | если c1 == 'x' и c2 == 'y' и c3 == 'z' | | то n := n + 1; | конец если конец цикла ответ := n;
В ней используются четыре вспомогательные переменные
n,
c1,
c2,
c3. Можно ли упроститьпрограмму, использовав меньшее количество вспомогательныхпеременных? (Последовательность разрешается читать только один раз.)