Реферат по предмету "Информатика, программирование"


Нейминг. Разработка генератора

Курсоваяработа
НЕЙМИНГ.РАЗРАБОТКА ГЕНЕРАТОРА
Оглавление
Введение
1. Теоретические основы нейминга.
1.1Методология создания имени.
1.2Алгоритм работы генератора названий
1.3Анализ методов решения
1.3.1Алгоритм разбиения слова на слоги
1.3.2Алгоритм группировки слогов в слова
2. Реализация алгоритма создания имен
2.1Разработка функции деления слова на слоги
2.2Осуществление группировки слогов в слова
2.3Анализ полученного генератора
Заключение
Список литературы
Введение
Сегодня придумать хорошееназвание для новой торговой марки труднее, чем выбрать имя новорожденномуребенку. Ведь на полках небольшого российского супермаркета располагается околосеми тысяч наименований товаров, а в гипермаркетах и того больше — ихколичество превосходит 50 тысяч. Но имя товара способно не только помочь впродвижении товара на рынке, но и «потопить» его среди более «удачных»конкурентов. Как же подобрать название новому товару? Ответом на этот вопроспослужило появление нейминга.
Чаще всего вотечественной маркетинговой литературе термин «naming» переводят с английскогокак «присвоение имен, разработка названий новых продуктов, товаров, услуг,торговых марок, компаний».[2]
В настоящее время любоерекламное агентство обязательно включает в перечень услуг нейминг. Это связанос ростом числа предпринимателей мелкой и средней руки в России. Естественно,огромный спрос вызывает довольно жесткую конкуренцию среди нейминговыхагентств. Побеждает та компания, в которой подход к выполнению заказа болееоригинален, а алгоритмы дают существенные результаты даже в тех областях, вкоторых количество используемых названий довольно-таки велико (пищеваяпромышленность, торговля и т.д.).
Таким образом, генераторназваний может стать серьёзным помощником любого неймингового агентства.
Цель работы: разработка генератора названий.
Для ее достижения нужнорешить задачи поиска алгоритма генерации и написания программы,реализующей его.
Для нахождениянеобходимой информации мы в основном обращались к сети Internet, т.к. именно там необходимостьнейминга ощущается особенно остро. При написании кода также понадобилось обратитьсяк литературе по программированию на языке PHP.[6]
Данная работа содержитисследовательскую и практическую части. В первой даётся описание данногоалгоритма разработки генератора с точки зрения той теории нейминга, которую янашла в статье «29 способов имя образования». Во второй описывается процесс егореализации, а также проводится анализ недостатков и достоинств полученногопродукта.
1. Теоретические основынейминга. 1.1 Методология создания имени.
Создание имени происходитпоэтапно. В качестве примера приведем одну из систем, разработанную компаниейNametrade. [4]
Первый этап — этап позиционирования. Для тогочтобы правильно начать придумывание имени для товара, услуги или фирмы, нужнопродумать позиционирование продукта. Необходимо изучить рынок, узнать больше оконкурентах и в самой фирме: изучить все, что может быть полезным при работенад именем. Здесь следует выделить ключевые слова (значения), которые должныопределять характер товара, область его применения, особенные качества.
Второй этап — этап генерации. Из собранных ранееключевых слов придумывается какое-либо, объединяющее их воедино. Здесь выделяютнесколько видов слов:
1.        Обычные слова
Плюсы:
·          перекликаются сродом занятий компании или сферой использования продукта: Sprint, Oracle, TimeManager.
Минусы:
·          невозможностьполного переноса смысла при выходе на новый рынок;
·          невозможностьрегистрации большинства слов.
2.        Неологизмы. Такназывают имена, которых не существует ни в одном языке мира. Sony, Teflon и Pepsi – все этонеологизмы. Неологизмы имеют как положительные, так и отрицательные стороны.
Плюсы:
·          неологизмы неимеют «истории»;
·          имя товара можетдать название целой категории (Xerox, Kleenex, Pampers);
·          такие словаидеальны для товаров, которые продаются по всему миру.
 Минусы:
·          они ничего незначат.
3.        Сложносокращенныеслова. Такие имена, как ThinkPad, PanAm и Aquafresh являются сложносокращеннымисловами. Вы описываете продукт с помощью обычных слов и имеете право нарегистрацию названия. Проблемы с переводом таких названий на языки различныхнародов мира возникают реже, чем у названий, составленных из обычных слов.
4.        Аббревиатуры. BP и IBM это — British Petroleum и International Business Machines. Чтобы такое имя запомнили, нужно много усилий: его тяжелозапомнить, и оно ничего не говорит потенциальному покупателю.
Третий этап — проверка. Имена и названия глубокоанализируются на соответствие различным критериям, выдвинутым рынком изаказчиком. Так же имена проверяются специалистами по фонетике и семантике. Ещеодна проверка – на звучание.
Четвертый этап: оценка заказчиком. Отобранные на предыдущем этапе словапередаются на оценку заказчику. Поскольку заказчик “варится” в своем бизнесе,то он может оценить с ходу, какие слова подходят для рынка, а какие не очень.Поредевший список перемещается на экзекуции следующего этапа.
Пятый этап – тестирование. На данном этапеотобранные имена должны проходить тестирования на фокус-группах. Это можетсделать только исследовательская компания. На этом же этапе проверяютсяюридические аспекты будущей легализации имен.
Шестой этап: окончательный. Список имен с сопроводительнымидокументами в виде отчетов о фокус-группах и юридических справок ложится настол заказчика, который, спросив совета исполнителей, принимает финальноерешение.
Из приведенных здесьэтапов нас более всего интересует этап генерации. Теоретически в процессегенерации человек должен являться непосредственным участником. Но, как  мывидим, наиболее перспективными являются названия-неологизмы. Однако всемизвестно, как тяжело придумать абсолютно новое слово, которое должноудовлетворять всем критериям «хорошего» названия, а именно: [4]
1. Короткое;
2. Отличное от других иуникальное;
3. Связанное среальностью;
4. Устанавливающеекоммуникационный процесс;
5. Запоминающееся;
6. Благозвучное;
7. Без негативныхассоциаций.
Процесс генерации словтакого вида наиболее осуществим на компьютере и наименее – в голове человека (всилу того, что любое придуманное человеком слово будет так или иначе похоже науже известные).
В виду всеговышеизложенного, стоит конкретизировать поставленную цель: разработатьгенератор названий-неологизмов, ассоциированных с некими ключевыми словами.
При удачной разработке мыдолжны получить набор ничего не значащих слов. В настоящее время некоторыенейминговые агентства могут похвастаться программами, определяющимиэмоциональную окраску слова (как, например, программа ВААЛ, рекламируемая на naming.ru [3]), однако программы эти – коммерческая тайна, а разработкаих в наших условиях невозможна, т.к. для этого необходим штат психологов. Всвязи с этим остальные этапы создания имени (т.е. все, кроме непосредственногенерации) должны осуществляться людьми. 1.2 Алгоритм работы генератораназваний
На основе поставленнойцели мы можем сформулировать задачу: составить алгоритм генерации неологизмовпри наличии некого набора слов.
У нас есть несколько ключевыхслов. Их количество и значение может быть произвольным. Новое слово должно базироватьсяна них. Первое, что может прийти в голову – составление новых слов из буквключевых слов. На практике эта идея осуществляется легко. Но с таким, жеуспехом мы можем при помощи генератора случайных чисел выбрать несколько буквиз алфавита (вероятность того, что эти буквы присутствуют в ключевых словах,очень велика), и из них «лепить» слова, варьируя положение букв внутри каждогоиз них. Во-первых, отсутствует даже подобие смысловой связи сгенерированныхслов с предыдущими. Во-вторых, процесс генерации таких слов осложняетсянеобходимостью постоянной слежки за морфологической и грамматическойправильностью составляемого слова (как то: наличие в нем гласных, отсутствиенесуществующих в русском языке сочетаний, вроде «хф», «чю» или «шь»).В-третьих, количество возможных комбинаций огромно, и нужны довольно-такимощные ограничения на генерируемые слова.
Поэтому стоит задуматьсянад другими возможными путями, например, составления неологизмов из слоговключевых слов. Этот путь более оправдан, т.к. каждый слог несет в себе какую-тоэмоциональную окраску, вызывает ассоциации с тем или иным существующим вреальности словом. Единственная проблема заключается в подборе ключевых слов; взависимости от их звучания определяется и звучание «новоиспеченных слов», известно,что многие вполне «мирные» слова в подсознании вызывают негативные эмоции. Идяпо такому пути нужно правильно подбирать ключевые слова. Поскольку этим вопросомзанимаются психологи, нас такой вариант генерации в принципе устраивает.
Еще более конкретнаяформулировка задачи: разработать генератор слов-неологизмов на базе слоговключевых слов.
Эта задача автоматическиразбивается на две подзадачи:
1.        разбиение ключевыхслов на слоги;
2.        группировкаслогов в слова.
В ходе решения этихподзадач стоит обратить внимание на то, что они выполняют противоположныеоперации, следовательно, стоит во время написания программы попытатьсяосуществлять некоторые простые функции в таком виде, чтобы они могли бытьиспользованы как для решения первой подзадачи, так и для решения второй.  1.3 Анализ методов решения 1.3.1 Алгоритм разбиения слова на слоги
В русском языкесуществует вполне определенное правило разбиения слов на слоги. Однако в немтакже много слов-исключений. Как правило, исключительной является ситуация,когда вопреки общему правилу буква не может быть отделена от слога, например,когда слог совпадает с какой-нибудь морфемой (чаще всего, корнем).
Для разрешения этойситуации можно составить словарь, содержащий в себе все слова-исключения и ихправильные разложения на слоги. Решение это несомненно правильное, но чересчуртрудоёмкое и неблагодарное.
Более простой, но менееудобный в использовании способ – проверка разложения пользователем и в случаеошибочного разложения ввод правильного варианта с клавиатуры.
Поскольку основной цельюкурсовой работы является всё-таки разработка генератора, то такие недочетыпрограммы можно опустить в связи с их непринципиальностью.
При разработке функцииделения слова на слоги, удобно воспользоваться учебником русского языка и основнымиправилами деления на слоги:
1.        Слова делятся наслоги: го-ло-ва, ка-пу-ста(ка-пус-та),, мо-я, я-ма и др.
2.        Слог можетсостоять из одного звука, из двух и более: о-на, у-зел, ко-выль, идр.
3.        В состав слога обязательновходит гласный звук, поэтому в слове столько слогов, сколько гласныхзвуков.
4.        Согласные звукиили начинают слог (го-ло-ва), или заканчивают его (он, ум и др.),или окружают гласный звук с обеих сторон (шум, дым и др.)[1]. 1.3.2 Алгоритм группировки слогов вслова
Слоги можно группироватьпо нескольким признакам:
1.        по принадлежностик тому или иному ключевому слову, например, не включать в новое слово более n слогов из одного ключевого слова(где n от 1 до количества слогов в слове).
2.        по их положению включевых словах. Скажем, слоги в новых словах не могут идти в обратном порядке,чем в ключевых; или последние слоги ключевых слов не могут использоваться вкачестве первых в  новых, и т.д.
3.        по повторяемости.Наиболее разумное ограничение – не допускать повторения слога в пределах одногонового слова.
По этим признакам можновводить ограничения на постановку слога в слово. На данном этапе для нас это неглавное. По этому мы рассмотрим общий случай, когда любой слог может оказатьсяна любом месте нового слова.
Стоит также задуматься опроизводительности данного алгоритма. Ведь чем больше ключевых слов будетвведено, тем больше можно из них создать новых. Стоит учитывать также, что можноформировать слова с количеством слогов от 2-х до n, где n –общее число слогов. Этот фактор также увеличивает количество возможныхвариантов.
Поэтому необходимовводить какие-либо ограничения для выходных данных. Это может быть длина слов,количество слогов в них, степень повторяемости отдельных сочетаний (можноввести в процентах от длины слова допустимое количество совпадения букв) иличто-нибудь в этом роде.
При установке ограниченийвремя выполнения программы значительно сократится. Реализация предложенныхограничений выглядит приблизительно одинаково, по этому для упрощения далее ябуду ограничивать только количество слогов в слове, но стоит не забывать, чтоэто не единственная возможность.
2. Реализация алгоритмасоздания имен
Реализацию полученногоалгоритма я решила осуществить на языке PHP 4.0. Свой выбор я обосновываю его синтаксическойблизостью к языку программирования Си, с которым я наиболее знакома, и простотойработы с данными различных типов (что может особенно пригодиться для созданиямассивов строк). Кроме того, в процессе работы я смогу улучшить свои навыкиработы с PHP,  изучить его особенности.
Для ввода входных данныхсоздадим с помощью языка разметки HTML страничку,содержащую форму. В её поля должны вводиться:
·           количествоключевых слов (поле kol);
·           непосредственнослова, записанные через запятую (поле slova);
·           количество слоговв генерируемых словах (поле slog).
Данные этой формы будутобрабатываться файлом kurs.php, в результате работы которого будетгенерироваться страничка со списком сгенерированных слов.
Сначала необходимосчитать данные из формы и записать их в соответствующие переменные.
$kol=$_POST[«kol»];
$slova=$_POST[«slova»];
$slog=$_POST[«slog»];
В переменных kol и slog сейчас находятся какие-либо числа, ав переменной slova находится строка, состоящая из слов, разделенных запятыми ипробелами. Преобразуем её в массив строк (s):
$s=explode(",",$slo);
Для дальнейшей работы намнеобходимо еще избавиться от ненужных нам пробельных символов (которые могутпоявиться при заполнении формы). Для этого воспользуемся встроенной функцией string trim(string str [, string charlist]). После такого рода обработки, можно будет приступитьнепосредственно к реализации алгоритма разбиения слова на слоги. 2.1 Разработка функции деления слова на слоги
Слова из массива строк s по одному будем посылать на обработкув функцию delslog($str).
functiondelslog($str)
{$k=k_slog($str);   //посчитаем количество слогов
$mas=slog($str, $k); //разобьём слово на слоги
$f=fopen(«slogi.txt»,«a»);//откроем файл slogi.txt
for($i=0;$i
{//через «-» запишем в
$mas[$i].='-';//него слоги
fwrite( $f,$mas[$i]);}
fclose($f);} //закроемфайл
В этой части программыпроисходит вызов функций k_slog($str)и slog($s, $k).Рассмотрим их подробнее.
functionk_slog($str) //считает количество слогов
{//бежим по строке
for($i=0,$q=0; $i
if(glas($str[$i])) // если очередная буква
$q++;                   //гласная, увеличим счетчик
return $q; } //вернёмзначение счетчика
Функция slog($s, $k)выполняетнепосредственно разбиение слова на слоги. Как видно из примеров в п. 1.3.1,многие слова можно разделить на слоги несколькими способами. По этомуопределить принадлежность каждой буквы к тому или иному слогу – довольно-такисложная задача.
Разберемся сначала сгласными буквами. Каждая из них является основой слога, по этому достаточнотолько отслеживать, чтобы в слог не попала вторая гласная (в этом случае долженосуществиться переход к новому слогу). За это будет отвечать флажок q.
С согласными все сложнее.Из-за разночтений в правилах деления слов на слоги я решила придерживатьсяследующих пунктов:
1.        Согласная ипоследующая гласная относятся к одному и тому же слогу;
2.        Все согласные буквы,находящиеся перед первой гласной принадлежат одному слогу;
3.        Все согласныебуквы, расположенные после последней гласной принадлежат одному и тому жеслогу;
4.        Из несколькихсогласных, расположенных в середине слова, первая относится к текущему слогу,остальные – к следующему (исключения составляют буквы «ъ» и «ь», которые«привязываются» к предыдущей согласной).
Последний пункт вызываетнаибольшее количество сомнений относительно правильности, но вполнеудовлетворяет изложенным в учебнике [1] правилам.
Получили функцию:
functionslog($s, $k)   //разбивает слово на слоги
{for($i=0,$q=0, $j=0; $i
{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). Она выглядит так:
function glas($a)//проверяет, гласная ли буква 'а'
{
$gls='аеёиоуыэюя';   //Запишем строки из строчных и
$glb='АЕЁИОУЫЭЮЯ';   //заглавных букв
for($i=0; $i
if(substr_count($gls,$a)>0|| //если 'а' входит
substr_count($glb,$a) > 0)//в одну из строк
return 1; // вернём 1
return 0;}
Эта функция ищетвхождение переданной ей буквы a вдвух строках, gls и glb, состоящих из строчных и заглавных гласных букврусского алфавита. Она возвращает 1, если буква присутствует в одной из строк(т.е. является гласной), иначе – 0.
Мы получили кусокосновной программы, выполняющий первую задачу – разбиение слов на слоги.
В результате работы этойчасти программы файл slogi.txt заполняется слогами всех введенных слов,разделёнными знаком «-». Использование файла для временного хранения информациия считаю наиболее выгодным. Этот способ наиболее надежен и прост, потому что впротивном случае пришлось бы либо вводить дополнительно переменные под хранениемассивов слогов, либо наращивать один массив, но тогда могла бы возникнутьпроблема с индексом, т.к. его надо было бы отправлять в качестве ещё одногопараметра в функцию delslog($str). Использование нескольких функцийвместо одной большой мне кажется также оправданным, т.к. это существенноупрощает восприятие текста программы. К тому же отдельные функции легчеисправлять и дополнять. 2.2 Осуществление группировки слогов в слова
После разбиения всехвведенных слов на слоги запускается функция группировки слогов в слова (group($k)). У неё только один входной параметр– количество слогов в новых словах.
В основе этой функциилежит алгоритм размещения с повторениями чисел 1..n в последовательности по k элементов.[5]
Рассмотрим эту функцию.
functiongroup($k)
{
$f=fopen(«slogi.txt»,«rt»);//откроем файлslogi.txt
$a=explode("-",fgets($f));//запишем слоги в масс. а
fclose($f);                               //закроем файл
$n=count($a)-1;            //посчитаем количество слогов
for($i=0;$i
         $x[$i]=1;              //зададимначальную и
         $y[$i]=$n;}          //конечнуюкомбинацию чисел
while(prov($x,$y))        //пока они различны
{$p=$k;                                  //пост. инд. в конецпосл-ти
while($x[$p]==$n)//пока не найдем эл-т, отличный от
         $p--;           //максимального, уменьш. р
$x[$p]++;            //увеличр-й эл-т послед-ти
for($i=$p+1;$i
$x[$i]=1;    //всеслед-ие делаем единицами
if(correct($x))      //есликомбинация нам подходит
{for($i=0;$i
{ print $a[$x[$i]-1];}//номерами на экран
echo "";}                         //переход на новуюстроку}
Эта функция вызывает prov($x, $y)и correct($x). Функция prov($x, $y)следит за совпадением начальной и конечной комбинациями. Этоосуществляется методом простого перебора всех элементов массивов x и y. Если в результате количество совпадающих элементов равноколичеству элементов в любом из массивов, то возвращается 0 (и алгоритм размещенийс повторениями заканчивает свою работу).
functionprov($x, $y)
{
$fl=0;
for($i=0;$i
         if($x[$i]==$y[$i])$fl++;
if($fl==count($y))return 0;
return 1;}
Функция correct($x) проверяет полученную комбинацию на «пригодность». В данномслучае, она отслеживает повторяющиеся слоги. Если они присутствуют, она не«пропускает» их к выводу на экран.
 
functioncorrect($x)
{for($h=0;$h
for($d=$h+1;$d
if($x[$h]==$x[$d])return 0;
return 1;}
В результате работы этой(завершительной) части программы на экран выводятся все слова длины, указаннойв поле slog, не содержащие повторяющихся слогов. 2.3 Анализ полученного генератора
Полученная программа далеконеидеальна.
Основным недостатком еёявляется трудоёмкость. Она довольно-таки велика за счет использованияалгоритма  размещения с повторениями, причем совершается явно лишняя работа,т.к. все размещения с повторениями как раз нам и не нужны — используем мытолько слова без повторяющихся слогов. Ещё можно обратить внимание, чтопроверка букв в слове на принадлежность к гласным выполняется 2 раза, тогдакак, заведя переменную, запоминающую места гласных букв в слове, мы могли быприбегать к ней только один раз. Хотя по сравнению с масштабностью программы этоне играет существенной роли, для красоты можно было бы это осуществить.
Вторым минусом программыя бы назвала отсутствие дополнительной обработки выводимых слов. Скажем, неосуществляется проверка слов на соответствие простейшим орфографическимправилам (в частности на наличие недопустимых сочетаний букв, которые могутвозникнуть при «состыковке» слогов из разных слов). Не осуществляется и проверкана наличие одинаковых слогов в словах (что является ещё одной причинойпоявления слов с одинаковыми слогами, например, если ввести слово «мама»). Всепроверки такого рода можно дописывать в функцию correct($x).Только тогда в качестве параметра ей следует передавать также массив слогов.
В генератор также можнобыло бы включить сортировку слогов в файле. Это упростило бы работу с выходнымиданными, т.к. они тоже были бы отсортированы. К тому же это можно было быиспользовать для исключения из списка одинаковых слогов (о чем говорилосьранее).
Не смотря на недостатки,эта программа является рабочей и может являться если не готовым продуктом, токак минимум основой для его создания.
На мой взгляд, мнеудалось написать программу довольно-таки просто, по максимуму используявозможности выбранного языка программирования.
Заключение
Полученный в ходе даннойработы генератор удовлетворяет большинству выдвинутых в процессе работытребований. Он действительно способен сгенерировать набор слов-неологизмов,основанных на ключевых словах. Далее из них мы должны самостоятельно выбиратьте, которые удовлетворяют критериям «хорошего» названия (о которых писалосьранее). Не стоит забывать и о личных предпочтениях заказчиков. Этот процесстоже  довольно-таки трудоёмкий, но несомненно проще, чем придумывание этихслов.
Варианты развития. В качестве основных задач,неправленых на улучшение работы генератора можно выделить:
1.        улучшениебыстродействия;
2.        углублениепроверки выходных данных;
3.        включение функциипоиска наиболее благозвучных слов из полученных.
Однако уже в таком его состоянииего можно использовать в качестве помощника для составления названий. Этапрограмма, при должной доработке, может быть использована как нейминговымиагентствами, так и людьми, которым необходимо придумать название для чегоугодно, но неохота платить за это деньги (например, когда речь идет описателях-фантастах, которые уже месяц ломают голову, как назвать неизведаннуюпланету…).
У нейминга в России, каки во сём мире, огромный потенциал для развития. Его необходимость современномуобществу постоянно даёт толчок для возникновения принципиально новых и доработкисуществующих методов имяобразования. Компьютерное решение этой проблемыпредставляется на сегодняшний день одним из самых предпочтительных и удобных.Разработанный мной простейший генератор вряд ли внесет большой вклад в развитиеэтой  отрасли, но сам факт решения этой задачи может послужить толчком крешению этой проблемы в более крупном масштабе, что со временем приведет ксозданию чего-то более совершенного. В любом случае, в процессе разработки я насебе ощутила востребованность квалифицированного программиста в современнойжизни.
Список литературы
1. Бабайцева, В.В.«Русский язык: теория. 5 – 9кл.» Учебник для общеобразовательных учреждений.В.В. Бабайцева, Л.Д. Чеснокова – 9-е изд. – М.: Дрофа, 2000. – 48-49 с..
2. Бизнес-журнал [электронныйресурс]/ Джавед, Н. Случайный нейминг – Электрон. статья – 2005.- Режимдоступа:
www.business-magazine.ru/oldbusiness/225706/. – Яз.рус.
3. Нейминогвоеагентство Нейминг.Ру [Электронный ресурс]/ Лебедев-Любимов, А. Психологические проблемы нейминга,или как убеждать названием – Электрон. статья — 2006.- Режим доступа: www.naming.ru/mambo/index.php?option=com_
content&task=view&id=12&Itemid=43
4. Patentoved.com [Электронный ресурс]/ Перция, В. 29 способовимяобразования – Электрон. статья – 2005. – Режим доступа: www.patentoved.com/content.php?id-32
5. Шень, А.Программирование: теоремы и задачи/ А. Шень. – М.: МЦНМО, 1995. – 43 – 44 с.
6. Котеров,Д.В. Самоучитель PHP 4. /Д.В. Котеров. — СПб.: БХВ-Петербург, 2001.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.