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

$slog=$_POST["slog"];

В переменных kol и slogсейчас находятся какие-либо числа, а в переменной slova находится строка, состоящая из слов, разделенных запятыми и пробелами. Преобразуем её в массив строк (s):

$s=explode(",",$slo);

Для дальнейшей работы нам необходимо еще избавиться от ненужных нам пробельных символов (которые могут появиться при заполнении формы). Для этого воспользуемся встроенной функцией string trim (string str [, string charlist]). После такого рода обработки, можно будет приступить непосредственно к реализации алгоритма разбиения слова на слоги.

2.1 Разработка функции деления слова на слоги

Слова из массива строк sпо одному будем посылать на обработку в функцию delslog($str).

function delslog ($ str )

{$k=k_slog($str); //посчитаем количество слогов

$mas=slog($str, $k); //разобьём слово на слоги

$f=fopen("slogi.txt","a");//откроем файл slogi.txt

for($i=0;$i<count($mas);$i++) //длязаписии

{//через «-» запишем в

$mas[$i].='-'; //него слоги

fwrite( $f,$mas[$i]);}

fclose($f);} //закроем файл

В этой части программы происходит вызов функций k_slog($str)и slog($s, $k). Рассмотрим их подробнее.

function k _ slog ($ str ) //считает количество слогов

{//бежим по строке

for($i=0, $q=0; $i < strlen($str); $i++)

if(glas($str[$i])) // если очередная буква

$q++; //гласная, увеличим счетчик

return $q; } //вернём значение счетчика

Функция slog($s, $k)выполняет непосредственно разбиение слова на слоги. Как видно из примеров в п. 1.3.1, многие слова можно разделить на слоги несколькими способами. По этому определить принадлежность каждой буквы к тому или иному слогу – довольно-таки сложная задача.

Разберемся сначала с гласными буквами. Каждая из них является основой слога, по этому достаточно только отслеживать, чтобы в слог не попала вторая гласная (в этом случае должен осуществиться переход к новому слогу). За это будет отвечать флажок q.

С согласными все сложнее. Из-за разночтений в правилах деления слов на слоги я решила придерживаться следующих пунктов:

1. Согласная и последующая гласная относятся к одному и тому же слогу;

2. Все согласные буквы, находящиеся перед первой гласной принадлежат одному слогу;

3. Все согласные буквы, расположенные после последней гласной принадлежат одному и тому же слогу;

4. Из нескольких согласных, расположенных в середине слова, первая относится к текущему слогу, остальные – к следующему (исключения составляют буквы «ъ» и «ь», которые «привязываются» к предыдущей согласной).

Последний пункт вызывает наибольшее количество сомнений относительно правильности, но вполне удовлетворяет изложенным в учебнике [1] правилам.

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