Курсовая работа: Нейминг. Разработка генератора

function slog($s, $k) //разбиваетсловонаслоги

{for($i=0, $q=0, $j=0; $i<strlen($s);)

{if(glas($s[$i]) && $q==0)//если очередная буква

{ //гласная и первая

$mas[$j].=$s[$i]; //припишем ее к слогу

$q=1; //установим флажок

$i++; //перейдем на след. букву}

else

if(!glas($s[$i]) && ($i==0 || $q!=1 || (glas($s[$i-1]) && !glas($s[$i+1])) || $j==$k-1))

/*если буква не гласная и: первая, или до гласной, или между гласной и согласной, или последняя*/

{

$mas[$j].=$s[$i];//припишем её к слогу

$i++; //перейдем на след. букву}

else

{ $q=0; //иначе снимем флажок и

$j++;} //перейдем на след. слог}

return $mas;} //вернём массив слогов

В приведенных функциях вызывается функция glas($a). Она выглядит так:

functionglas($a) //проверяет, гласная ли буква 'а'

{

$gls='аеёиоуыэюя'; //Запишем строки из строчных и

$glb='АЕЁИОУЫЭЮЯ'; //заглавныхбукв

for($i=0; $i < 11; $i++)

if(substr_count($gls,$a)>0|| //если 'а' входит

substr_count($glb,$a) > 0)//в одну из строк

return 1; // вернём 1

return 0;}

Эта функция ищет вхождение переданной ей буквы a в двух строках, gls и glb, состоящих из строчных и заглавных гласных букв русского алфавита. Она возвращает 1, если буква присутствует в одной из строк (т.е. является гласной), иначе – 0.

Мы получили кусок основной программы, выполняющий первую задачу – разбиение слов на слоги.

К-во Просмотров: 701
Бесплатно скачать Курсовая работа: Нейминг. Разработка генератора