Определение рейтинга ТВ передач

Разработка проекта для регистрации пользователей на Web-сайте с целью отслеживания интересов посетителей. Обоснование выбранных технических средств и программного обеспечения: PHP и MySQL. Описание интерфейса и отчетных форм, листинг программы модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.11.2012
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНСКИЙ ИНСТИТУТ УПРАВЛЕНИЯ

«К защите допускаю»

Кафедра АИС ______________ Русак Т.В.

«_____»__________________ 2008 г.

КУРСОВАЯ РАБОТА

по дисциплине: «Сетевые информационные технологии в экономике»

на тему: «Определение рейтинга ТВ передач»

2008

РЕФЕРАТ

В этом проекте будет реализована регистрация пользователей на Web-сайте. После этого станет возможным отслеживание интересов посетителей и отображение для них соответствующего содержимого.

СОДЕРЖАНИЕ

  • ВВЕДЕНИЕ
  • 1. ПОСТАНОВКА ЗАДАЧИ
  • 2. ОБОСНОВАНИЕ ВЫБРАННЫХ ТЕХНИЧЕСКИХ СРЕДСТВ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (СИСТЕМНОГО И СРЕДСТВ РАЗРАБОТКИ)
  • 3. СТРУКТУРА БАЗЫ ДАННЫХ
  • 4. СТРУКТУРА ПРИЛОЖЕНИЯ
  • 5. ОПИСАНИЕ ИНТЕРФЕЙСА И ОТЧЕТНЫХ ФОРМ
  • 6. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
  • ЗАКЛЮЧЕНИЕ
  • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
  • ПРИЛОЖЕНИЕ 1. РАЗРАБОТАННАЯ АНКЕТА
  • ПРИЛОЖЕНИЕ 2. ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ
  • ПРИЛОЖЕНИЕ 3. АНКЕТА КОНТРОЛЬНОГО ПРИМЕРА

ВВЕДЕНИЕ

РНР -- это серверный язык создания сценариев (или стороны сервера), разработанный специально для Web. В HTML-страницу можно внедрить код РНР, который будет выполняться при каждом ее посещении. Код РНР интерпретируется Web-сервером и генерирует HTML или иной вывод, наблюдаемый посетителем страницы.

MySQL -- очень быстрая, надежная система управления реляционными базами данных (СУРБД). База данных позволяет эффективно хранить, искать, сортировать и получать данные. Сервер MySQL управляет доступом к данным, позволяя работать с ними одновременно нескольким пользователям, обеспечивает быстрый доступ к данным и гарантирует предоставление доступа только имеющим на это право пользователям. Следовательно, MySQL является многопользовательским, многопотоковым сервером. Он применяет SQL (Structured Query Language -- язык структурированных запросов), используемый по всему миру стандартный язык запросов в базы данных.

Целью работы является разработка инструментального средства для организации пользовательского интерфейса.

1. ПОСТАНОВКА ЗАДАЧИ

В этом проекте будет реализована регистрация пользователей на Web-сайте. После этого станет возможным отслеживание интересов посетителей и отображение для них соответствующего содержимого. Последнее называется персонализацией пользователей.

Проект реализует следующие функциональные возможности:

- Регистрация и аутентификация пользователей

- Управление паролями

- Запись ответов пользователей

- Персонализация содержимого

- Рекомендация содержимого в зависимости от имеющихся сведений о пользователе

2. ОБОСНОВАНИЕ ВЫБРАННЫХ ТЕХНИЧЕСКИХ СРЕДСТВ И ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (СИСТЕМНОГО И СРЕДСТВ РАЗРАБОТКИ)

PHP (читается как пи-эйч-пи) - один из популярнейших языков программирования в сети Интернет. Дословно аббревиатура переводиться как Personal Home Page. Данный язык существует с 1994 года. Его создателем является Расмус Лердорф (Rasmus Lerdorf). На сегодняшний день РНР, несмотря на свое скромное название (Personal Home Page - персональная домашняя страница), - это мощный кроссплатформенный набор средств, который располагается на сервере и предназначается для обработки кода, встраиваемого в html-документы. Благодаря этому, появляется возможность создавать динамические Web-страницы. То есть вы создаете их как обычно, используя язык HTML и вставляя в документ, по мере необходимости, РНР-команды. Файлы, созданные таким образом, хранятся на сервере. Когда посетитель обращается к вашей страничке, РНР обрабатывает встроенные в нее команды и выдает результат браузеру пользователя - точно так же, как это делает CGI-программа, написанная на С или Perl. Только в отличие от последней, РНР имеет ряд преимуществ: - создание и отладка скриптов PHP значительно проще, чем отладка и создание скриптов на других языках, так как РНР-команды просто вставляются в текст html-документа, отпадает необходимость в различных IDE (интегрированная среда разработки); - для решения разных специфических задач не нужно писать и отлаживать многочисленные маленькие CGI-программы, что сводит к минимуму время доступа к вашим страницам, а также продолжительность разработки страниц и сайта в целом. Вместе с тем, РНР обладает огромным набором функций и большой гибкостью, которые могут быть значительно расширены с помощью дополнительных внешних библиотек. Вы можете управлять доступом к вашим страницам, создавать и обрабатывать базы данных любой сложности, генерировать изображения или PDF-документы и тому подобное.

SQL (Обычно произносимая как "СЭКВЭЛ") символизирует собой Структурированный Язык Запросов. Это - язык, который дает вам возможность создавать и работать в реляционных базах данных, которые являются наборами связанной информации сохраняемой в таблицах.

Реляционная база данных - это тело связанной информации, сохраняемой в двухмерных таблицах. Напоминает адресную или телефонную книгу.

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

Перечислю основные приятные стороны пакета MySQL -это многопоточность, поддержка нескольких одновременных запросов, оптимизация связей с присоединением многих данных за один проход, записи фиксированной и переменной длины, ODBC драйвер в комплекте с исходником, гибкая система привилегий и паролей, до 16 ключей в таблице, каждый ключ может иметь до 15 полей. Также есть поддержка ключевых полей и специальных полей в операторе CREATE, поддержка чисел длинной от 1 до 4, строк переменной длины и меток времени, интерфейс с языками C и perl. Основанная на потоках, быстрая система памяти, утилита проверки и ремонта таблицы, все данные хранятся в формате ISO8859_1. Все операции работы со строками не обращают внимания на регистр символов в обрабатываемых строках, псевдонимы применимы как к таблицам, так и к отдельным колонкам в таблице, все поля имеют значение по умолчанию. INSERT можно использовать на любом подмножестве полей. Легкость управления таблицей, включая добавление и удаление ключей и полей.

MySQL - это удобно и практично. А скорость работы просто завораживает. Так что не теряйте время зря, за этой технологией - будущее.

Некоторые преимущества РНР

К числу конкурентов РНР относятся Perl, Active Server Pages (ASP) от Microsoft, Java Server Pages (JSP) и Allaire Cold Fusion.

PHP обладает множеством преимуществ по сравнению с этими продуктами, в числе которых:

* Высокая производительность

* Наличие интерфейсов ко многим различным системам баз данных

* Встроенные библиотеки для выполнения многих общих задач, связанных с Web

* Низкая стоимость

* Простота изучения и использования

* Переместимость

* Доступность исходного кода

Эти преимущества более подробно рассматриваются далее.

Производительность

РНР исключительно эффективен. Используя единственный недорогой сервер, можно обслуживать миллионы обращений в день.

Интеграция с базами данных

РНР обладает встроенной связностью со многими системами баз данных. В дополнение к MySQL, в числе прочих можно непосредственно подключаться к базам данных PostgreSQL, mSQL, Oracle, dbm, Hyperware, Informix, InterBase и Sybase. Используя Open Database Connectivity Standard (Стандарт открытого интерфейса связи с базами данных, ODBC), можно подключаться к любой базе данных, для которых существует ODBC-драйвер. Это распространяется на продукты Microsoft и многих других компаний.

Встроенные библиотеки

Поскольку РНР был разработан для использования в Web, он имеет множество встроенных функций для выполнения широкого разнообразия полезных, связанных с Web, задач. С его помощью можно "на лету" генерировать GIF-изображения, подключаться к другим сетевым службам, отправлять сообщения электронной почты, работать с cookie-наборами и генерировать PDF-документы -- и все это посредством всего нескольких строк кода.

Стоимость

Пакет РНР является бесплатным. Наиболее новую версию можно в любой момент совершенно бесплатно выгрузить из http://www.php.net.

Изучение РНР

Синтаксис РНР основывается на других языках программирования, в первую очередь на С и Perl. Если вы уже знакомы с С, Perl или С-подобным языком, таким как C++ или Java, то почти сразу сможете эффективно использовать РНР.

Переносимость

Пакет РНР можно использовать под управлением многих различных операционных систем. Код РНР можно создавать в среде таких бесплатных Unix-подобных операционных систем, как Linux и FreeBSD, коммерческих версий Unix типа Solaris и IRIX или различных версий Microsoft Windows. Как правило, программы будут работать без каких-либо изменений в различных средах с установленным РНР.

Исходный код

Пользователь имеет доступ к исходному коду РНР. В отличие от коммерческих закрытых программных продуктов, если нужно что-либо изменить или добавить в этом языке, то это всегда можно сделать. Не следует дожидаться, пока фирма-изготовитель выпустит правки (патчи). Нет необходимости беспокоиться о том, что изготовитель собирается покинуть рынок или перестанет поддерживать продукт.

Некоторые преимущества MySQL

К конкурентам MySQL, помимо прочих, относятся PostgreSQL, Microsoft SQL Server и Oracle. MySQL обладает многими преимуществами, в том числе высокой производительностью, низкой стоимостью, простотой конфигурирования и изучения, переносимостью и доступностью исходного кода. Более подробно упомянутые преимущества рассматриваются ниже.

Производительность

MySQL без сомнений работает очень быстро. Результаты сравнительных тестов производительности, выполненных фирмой-изготовителем, можно посмотреть на странице http://web.mysql.com/benchmark.html. Многие из этих сравнительных тестов показывают, что MySQL работает на порядок быстрее конкурирующих продуктов.

Низкая стоимость

Пакет MySQL доступен бесплатно в соответствии с лицензией на программное обеспечение с открытым исходным кодом или, если это необходимо для приложения, за небольшую сумму можно приобрести коммерческую лицензию.

Простота использования

В большинстве современных баз данных используется SQL. Если ранее вы работали с другими СУРБД, переход к этой системе не должен вызывать какие-либо затруднения. Установка MySQL столь же проста, как и установка многих аналогичных продуктов.

Переносимость

MySQL может использоваться в среде многих различных систем UNIX, а также в среде Microsoft Windows.

Исходный код

Как и в случае РНР, исходный код MySQL можно выгружать и изменять.

3. СТРУКТУРА БАЗЫ ДАННЫХ

В базе данных нами бы созданы 3 таблицы в которых содержится информация о пользователе, анкета с хранимыми данными и таблица где хранится информация об администраторе данного проекта.

Табл 3.1 admin

Поле

Тип

Ноль

username

varchar(20)

Нет

password

varchar(30)

Нет

В поле username хранится информация об имени администратора.

Поле password хранит пароль администратора.

Табл 3.2 anketa

Поле

Тип

Ноль

ont

int(6)

Нет 

russia

int(6)

Нет 

ntvbel

int(6)

Нет 

one

int(6)

Нет 

ctv

int(6)

Нет 

onemyz

int(6)

Нет 

lad

int(6)

Нет 

tvcen

int(6)

Нет 

dis

int(6)

Нет 

euro

int(6)

Нет 

nation

int(6)

Нет 

anim

int(6)

Нет 

tv21

int(6)

Нет 

belmyz

int(6)

Нет 

mtv

int(6)

Нет 

8kan

int(6)

Нет 

tv1000

int(6)

Нет 

ren

int(6)

Нет 

В таблицу anketa записываются данные пользователя при прохождении анкетирования. Данные хранятся для дальнейшей работы с ними.

Табл 3.3 user

Поле

Тип

Ноль

username

varchar(20)

Нет 

password

varchar(30)

Нет 

email

varchar(25)

Нет 

В поле username таблицы user хранится информация о имени пользователя.

Поле password хранит зашифрованные пароли пользователей. В поле email хранится электронный адрес пользователя.

4. СТРУКТУРА ПРИЛОЖЕНИЯ

Размещено на http://www.allbest.ru/

Рис 4.1 Структура Web - приложения

5. ОПИСАНИЕ ИНТЕРФЕЙСА И ОТЧЕТНЫХ ФОРМ

Рис 5.1 Форма входа в систему

Форма входа предназначена для входа пользователя в систему. При входе на данную страницу пользователю необходимо ввести в необходимые поля свои идентификационные данные.

Рис 5.2 Форма регистрации в системе

Форма предназначена для регистрации в системе нового пользователя.

После заполнения всех необходимых полей необходимо нажать кнопку «Регистрация»

Рис 5.3 Форма входа в систему администратора

Административная форма предназначена для входа в систему администратора данной системы. При входе на данную страницу пользователь являющийся администратором должен ввести в необходимые поля свои идентификационные данные.

Рис 5.4 Форма анкетирования пользователей

На данной форме необходимо пройти анкетирование и ответить на имеющиеся вопросы по десятибалльной шкале оценивания.

Рис 5.5 Главная форма системы

Главная страница на которой пользователь имеет возможность выбрать одну из ссылок (пройти анкетирование, сменить пароль, просмотреть результаты анкетирования и выйти из системы).

6. РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

web сайт регистрация

При входе в систему пользователь попадает на страницу регистрации на которой ему необходимо заполнить регистрационные данные.

Рис 6.1 Форма регистрации в системе

В поле «E-mail» необходимо ввести свой почтовый ящик придерживаясь следующего правила (буквы или цифры + @буквы или цифры + точка + буквы или цифры).

В поле «Имя пользователя» вносится имя регистрируемого пользователя под которым он будет индетифицируем в системе.

В поле «Пароль» и «Подтверждение пароля» вносится пароль с которым пользователь будет входить в данную систему.

По завершению заполнения формы необходимо нажать на КНОПКУ «Регистрация».

Рис 6.2 Форма входа в систему

В поле «Имя пользователя» вносится имя пользователя под которым он регистрировался в системе.

В поле «Пароль» вносится пароль данного пользователя для входа в данную систему.

По завершению ввода необходимо нажать на КНОПКУ «Вход».

После успешной аутентификации пользователь попадает на главную страницу проекта.

Рис 6.3 Ссылки на главной странице системы

На главной странице находятся ссылки на другие страницы доступные пользователю такие как смена пароля, анкетирование, результаты анкетирования и выход из системы.

Рис 6.4 Форма анкетирования пользователей

На странице анкетирования пользователю предоставляется возможность ответить на вопросы анкеты исходя из десятибалльной системы оценивания, по окончанию заполнения анкеты необходимо нажать на КНОПКУ «Ответить».

Рис 6.5 Форма просмотра результатов анкетирования

Полный вид

Рис 6.6 Форма просмотра результатов анкетирования

Сокращенный вид

На странице результатов анкетирования пользователь имеет возможность просмотреть свои ответы, а также ответы пользователей прошедших анкетирование ранее.

Рис 6.7 Форма изменения пароля

На странице изменения пароля пользователь может изменить свой пароль на любой другой.

По «Старый пароль» о пароле с которым пользователь вошел в систему.

Поля «Новый пароль» и «Подтверждение пароля» содержат значение нового пароля пользователя.

Для ввода пароля есть ограничение на максимальный и минимальный размер (не больше 15 и не меньше 6 символов).

ЗАКЛЮЧЕНИЕ

В данной работе мы рассмотрели такие элементы как:

- Базовые структуры языка PHP: условия, циклы, процедуры, выражения. Передача параметров между страницами веб-ресурса: GET и POST методы, проверка и обработка передаваемых переменных. Использование сессий.

- Обработка текста средствами регулярных выражений: шаблоны поиска, проверка правильности данных пользователя средствами регулярных выражений.

- Объектно-ориентированное программирование средствами PHP: инкапсуляция, наследование.

- Синтаксис языка SQL: запросы на поиск, обновление, удаление записей, составные запросы к нескольким таблицам.

- Работа с графикой средствами библиотеки GD: создание и изменение изображений «на лету».

- Аутентификация и авторизация с помощью PHP: защита динамических страниц и информации из базы данных с помощью паролей и кодов сессий.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. PHP. Первые шаги. Действительно легкая смена дизайна. - NAS, Webscript.ru.

2. Julie C. Meloni. PHP Fast & Easy Web Development, 2nd Edition. - Premier Press, 2002.

3. А.Мазуркевич, Д.Еловой. PHP настольная книга программиста.

4. Jesus Castagnetto and oth. Professional PHP Programming. - Wrox Press: 1999.

5. Томсон Лаура. Разработка Web-приложений на РНР и MySQL: Пер. с англ./Лаура Томсон, Люк Веллинг. - 2-е изд., испр. - СПб: ООО 'ДиаСофтЮП', 2003. - 672 с.

6. Колисниченко Д.Н. Самоучитель PHP5. - СПб: Наука и техника. 2004ю 506с.: илл.

ПРИЛОЖЕНИЕ 1. РАЗРАБОТАННАЯ АНКЕТА

ПРИЛОЖЕНИЕ 2. ЛИСТИНГ ПРОГРАММНЫХ МОДУЛЕЙ

add_ank_data.php

<?

if (@$ankbtn) {

include_once("config.php");

$query = "INSERT INTO anketa VALUES ('" .

mysql_escape_string($_POST['ont']) . "','" .

mysql_escape_string($_POST['russia']) . "','" .

mysql_escape_string($_POST['ntvbel']) . "','" .

mysql_escape_string($_POST['one']) . "','" .

mysql_escape_string($_POST['ctv']) . "','" .

mysql_escape_string($_POST['onemyz']) . "'," .

mysql_escape_string($_POST['lad']) . "'," .

mysql_escape_string($_POST['tvcen']) . "'," .

mysql_escape_string($_POST['dis']) . "'," .

mysql_escape_string($_POST['euro']) . "'," .

mysql_escape_string($_POST['nation']) . "'," .

mysql_escape_string($_POST['anim']) . "'," .

mysql_escape_string($_POST['tv21']) . "'," .

mysql_escape_string($_POST['belmyz']) . "'," .

mysql_escape_string($_POST['mtv']) . "'," .

mysql_escape_string($_POST['8kan']) . "'," .

mysql_escape_string($_POST['tv1000']) . "'," .

mysql_escape_string($_POST['ren']) . ")";

mysql_query($query) or die("error: " . mysql_error());

echo "<br>ваши ответы добавлены в БД!<br>";

}

?>

<?

include "config.php";

$result = mysql_query("select * from anketa;");

$num_results = mysql_num_rows ($result);

echo "<p>Количество найденных: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++) {

$row = mysql_fetch_array($result);

echo "<p><strong>". ($i+1) .". ont: ";

echo htmlspecialchars(($row["ont"]));

echo "</strong><br>russia: " ;

echo htmlspecialchars(($row["russia"]));

echo "<br>ntvbel:";

echo htmlspecialchars(($row["ntvbel"]));

echo "<br>one: ";

echo htmlspecialchars(($row["one"]));

echo "<br>ctv:";

echo htmlspecialchars(($row["ctv"]));

echo "<br>onemyz:";

echo htmlspecialchars(($row["onemyz"]));

echo "<br>lad:";

echo htmlspecialchars(($row["lad"]));

echo "<br>tvcen:";

echo htmlspecialchars(($row["tvcen"]));

echo "<br>dis:";

echo htmlspecialchars(($row["dis"]));

echo "<br>euro:";

echo htmlspecialchars(($row["euro"]));

echo "<br>nation:";

echo htmlspecialchars(($row["nation"]));

echo "<br>anim:";

echo htmlspecialchars(($row["anim"]));

echo "<br>tv21:";

echo htmlspecialchars(($row["tv21"]));

echo "<br>belmyz:";

echo htmlspecialchars(($row["belmyz"]));

echo "<br>mtv:";

echo htmlspecialchars(($row["mtv"]));

echo "<br>8kan:";

echo htmlspecialchars(($row["8kan"]));

echo "<br>tv1000:";

echo htmlspecialchars(($row["tv1000"]));

echo "<br>ren:";

echo htmlspecialchars(($row["ren"]));

echo "</p>";

?>

admin_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu4();

do_html_header("Администратор");

display_admin_form() ;

?>

anket_form.php

<?

session_start();

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu2();

do_html_header("Результаты анкетирования");

display_anket_form() ;

?>

change_passwd.php

<?

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

session_start() ;

do_html_header("Изменение пароля");

check_valid_user();

if (!filled_out($_POST))

{echo "Данные не заполнены. Попробуйте еще раз.";

menu();

exit;}

else

{if ($new_password!=$new_password)

echo "Ошибка. Пароль не изменен.";

else

if (strlen($new_password)>6 || strlen($new_password)<6)

echo "Новый пароль должен быть от 6 до 16 символов. Попробуйте еще раз.";

else{

if (change_password($valid_user, $old_password, $new_password))

echo "Пароль изменен.";

else

echo "Пароль не может быть изменен."; }}

menu();

?>

change_passwd_form.php

<?

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

menu();

menu2();

do_html_header("Регистрационная форма");

display_passwd_form()

?>

config.php

<?

$hostname = "localhost";

$username = "root";

$password = "";

mysql_connect($hostname, $username, $password) or die("Error: " . mysql_error());

mysql_select_db("bookmarks") or die("Error: " . mysql_error());

?>

data_valid_fns.php

<?

function filled_out($form_vars)

{ foreach ($form_vars as $key => $value)

{

if (!isset($key) || ($value == ""))

return false; }

return true;}

function valid_email($email)

{ if (ereg("^[a-zA-Z0-9_]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $email))

return true;

else

return false;}

?>

db_fns.php

<?

//функция подключения к базе данных

function db_connect()

{

$result = mysql_pconnect("localhost", "root", "");

if (!$result)

return false;

if (!mysql_select_db("bookmarks"))

return false;

return $result;

}

?>

logadmin.php

<?

require_once("output_fns.php");

menu();

do_html_header("Вход для админа");

display_logadmin_form();

?>

login.php

<?

require_once("output_fns.php");

menu();

do_html_header("Вход");

display_login_form();

?>

logout.php

<?

session_start();

// подключаемые файлы функций

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

$old_user = $valid_user;//сохранить на случай, если кто-то входил в систему

$result_unreg = session_unregister("valid_user");

$result_dest = session_destroy();

if (!empty($old_user))

{if ($result_unreg && $result_dest)

{ echo "Уважаемый(ая) $valid_user, к сожалению, вы вышли из системы.<br>"; }

else {

echo "Невозможно осуществить выход из системы.<br>";} }

else {

echo "Вы не вошли в систему<br>"; }

menu();

?>

mem.php

<?

session_start();

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

menu();

if ($username && $password)

{ if (logadmin($username, $password))

{

$valid_user = $username;

session_register("valid_user"); }

else{ do_html_header (" Ошибка! ") ;

echo "Доступ только администратору.";

exit; }}

do_html_header("Аминистративная");

check_valid_admin();

echo "<br>";

menu4();

?>

member.php

<?

session_start();

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

menu();

if ($username && $password)

{ if (login($username, $password))

{ $valid_user = $username;

session_register("valid_user"); }

else{ do_html_header (" Ошибка! ") ;

echo "Эта страница доступна только зарегистрированным пользователям.";

exit; }}

do_html_header("Главная");

check_valid_user();

echo "<br>";

menu2();

?>

<img src="2.GIF" />

output_fns.php

<?

function menu()

{

?>

<p><a href="register_form.php">Регистрация</a> |

<a href="login.php">Войти</a> |

<a href="logadmin.php">Admin Enter</a>

</p>

<?

}

function menu2()

{

?>

<a href="change_passwd_form.php">Сменить пароль</a> |

<a href="anket_form.php">Пройти анкетирование</a> |

<a href="rez_anket_form.php">Результаты анкетирования</a> |

<a href="logout.php">Выйти</a>

</p>

<?

}

function menu3()

{

?>

<a href="rez_anket_form.php">Результаты full</a> |

<a href="rez_ank_form.php">Результаты shot</a>

</p>

<?

}

function menu4()

{

?>

<a href="admin_form.php">Пользователи</a>|

<a href="admin2_form.php">Анкеты</a>|

<a href="rez_admin_form.php">Статистика</a>|

<a href="logout.php">Выйти</a>

</p>

<?

}

function do_html_header($title)

{

?>

<html>

<head>

<title><?=$title?></title>

<style>

body { font-family: Arial, Helvetica, sans-serif; font-size: 13px }

li, td { font-family: Arial, Helvetica, sans-serif; font-size: 13px}

hr { color: #3333cc; width=300; text-align=left}

a { color: #000000 }

</style>

</head>

<body>

<h1><img src="1.bmp" width="393" height="88"></h1>

<h1>Курсовая работа</h1>

<h2 align="left"><? echo($title); ?></h2>

<hr>

<?

}

function display_registration_form()

{

?>

<form action="register_new.php" method="post">

<table align="left" width="290" border="1" bordercolor="#0033CC">

<tr>

<td width="128"> E-mail:

<div align="left"></div></td>

<td width="146"><div align="left">

<input type="text" name="email">

</div></td>

</tr>

<tr>

<td><div align="left">Имя пользователя:</div></td>

<td><div align="left">

<input type="text" name="username">

</div></td>

</tr>

<tr>

<td><div align="left">Пароль:</div></td>

<td><div align="left">

<input type="password" name="password">

</div></td>

</tr>

<tr>

<td><div align="left">Подтверждение пароля: </div></td>

<td><div align="left">

<input type="password" name="password2">

</div></td>

</tr>

</table>

<input type="Submit" name="button" value="Регистрация" >

</form>

<?

}

function display_passwd_form()

{

?>

<form action="change_passwd.php" method="post">

<table align="left" width="290" border="1" bordercolor="#0033CC">

<tr>

<td width="430" colspan="2" valign="top"><p align="center">Изменение пароля</p>

</td>

</tr>

<tr>

<td width="222" valign="top"><p>Старый пороль</p></td>

<td width="208" valign="top"><p> <input type="password" name="old_password">

</p>

</td>

</tr>

<tr>

<td width="222" valign="top"><p>Новый пароль</p></td>

<td width="208" valign="top"><p>

<input type="password" name="new_password">

</p>

</td>

</tr>

<tr>

<td width="222" valign="top"><p>Подтверждение пароля</p></td>

<td width="208" valign="top"><p>

<input type="password" name="new_password">

</p>

</td>

</tr>

</table>

<input type="Submit" name="button" value="Изменить">

</form>

<?

}

function display_login_form()

{

?>

<form action="member.php" method="post">

<table align="left" width="290" border="1" bordercolor="#0033CC">

<tr>

<td width="430" colspan="2" valign="top"><p align="center">Вход</p>

</td>

</tr>

<tr>

<td width="430" valign="top"><p>Имя пользователя:</p></td>

<td width="208" valign="top"><p> <input type="text" name="username">

</p>

</td>

</tr>

<tr>

<td width="430" valign="top"><p>Пароль:</p></td>

<td width="208" valign="top"><p>

<input type="password" name="password">

</p>

</td>

</tr>

</table>

<input type="Submit" name="button" value="Вход">

</form>

<?

}

function display_logadmin_form()

{

?>

<form action="mem.php" method="post">

<table align="left" width="290" border="1" bordercolor="#0033CC">

<tr>

<td width="430" colspan="2" valign="top"><p align="center">Enter</p>

</td>

</tr>

<tr>

<td width="430" valign="top"><p>Admin name:</p></td>

<td width="208" valign="top"><p> <input type="text" name="username">

</p>

</td>

</tr>

<tr>

<td width="430" valign="top"><p>Password:</p></td>

<td width="208" valign="top"><p>

<input type="password" name="password">

</p>

</td>

</tr>

</table>

<input type="Submit" name="button" value="Enter">

</form>

<?

}

function display_rez_anket_form()

{

?>

<?

include "config.php";

$result = mysql_query("select * from anketa;");

$num_results = mysql_num_rows ($result);

echo "<p>Количество человек ответивших на вопросы анкеты: ".$num_results."</p>";

echo "<p>10-бальная шкала оценивания...</p>";

$arr = array();

for ($i=0; $i <$num_results; $i++) {

$row = mysql_fetch_array($result);

$arr["ОНТ:"][] = $row["ont"];

$arr["Россия:"][] = $row["russia"];

$arr["НТВ Беларусь:"][] = $row["ntvbel"];

$arr["Первый канал:"][] = $row["one"];

$arr["СТВ:"][] = $row["ctv"];

$arr["Первый музыкальный:"][] = $row["onemyz"];

$arr["ЛАД:"][] = $row["lad"];

$arr["ТВ Центр:"][] = $row["tvcen"];

$arr["Discovery:"][] = $row["dis"];

$arr["Euronews:"][] = $row["euro"];

$arr["National Geographic Channel:"][] = $row["nation"];

$arr["Animal Planet:"][] = $row["anim"];

$arr["TV-21:"][] = $row["tv21"];

$arr["БелМузТВ:"][] = $row["belmyz"];

$arr["MTV:"][] = $row["mtv"];

$arr["8 канал:"][] = $row["8kan"];

$arr["ТВ1000:"][] = $row["tv1000"];

$arr["РЕН ТВ:"][] = $row["ren"];

}

echo "<table border=1 bordercolor=#0033CC>";

echo "<tr>";

echo "<td>"."Название"."</td>";

for ($i = 0; $i < $num_results; $i++) {

echo "<td></td>";

}

echo "<td></td><td bgcolor=\"#99FF66\">Средний бал</td></tr>";

while(list($k,$v) = each($arr)) {

echo "<tr><td bgcolor=#66CCFF>".$k."</td>";

$sum = 0;

for ($i = 0;$i < count($v);$i++) {

echo "<td>".$v[$i]."</td>";

$sum += $v[$i];

}

echo "<td width=5 bgcolor=#99FF66 >"." "."</td>";

//<tr><td bgcolor=#99FF66>"."Среднее значение"."</td></tr>

echo "<td align=center>".round($sum / count($v),2)."</td>";

echo "</tr>";

}

echo "</table>";

?>

<?

}

function display_rez_ank_form()

{

?>

<?

include "config.php";

$result = mysql_query("select * from anketa;");

$num_results = mysql_num_rows ($result);

echo "<p>Количество человек ответивших на вопросы анкеты: ".$num_results."</p>";

echo "<p>10-бальная шкала оценивания...</p>";

$arr = array();

for ($i=0; $i <$num_results; $i++) {

$row = mysql_fetch_array($result);

$arr["ОНТ:"][] = $row["ont"];

$arr["Россия:"][] = $row["russia"];

$arr["НТВ Беларусь:"][] = $row["ntvbel"];

$arr["Первый канал:"][] = $row["one"];

$arr["СТВ:"][] = $row["ctv"];

$arr["Первый музыкальный:"][] = $row["onemyz"];

$arr["ЛАД:"][] = $row["lad"];

$arr["ТВ Центр:"][] = $row["tvcen"];

$arr["Discovery:"][] = $row["dis"];

$arr["Euronews:"][] = $row["euro"];

$arr["National Geographic Channel:"][] = $row["nation"];

$arr["Animal Planet:"][] = $row["anim"];

$arr["TV-21:"][] = $row["tv21"];

$arr["БелМузТВ:"][] = $row["belmyz"];

$arr["MTV:"][] = $row["mtv"];

$arr["8 канал:"][] = $row["8kan"];

$arr["ТВ1000:"][] = $row["tv1000"];

$arr["РЕН ТВ:"][] = $row["ren"];

}

echo "<table border=1 bordercolor=#0033CC>";

echo "<td>"."Название"."</td>";

echo "<td>"."Средний бал"."</td>";

while(list($k,$v) = each($arr)) {

echo "<tr><td bgcolor=#66CCFF>".$k."</td>";

$sum = 0;

for ($i = 0;$i < count($v);$i++) {

//echo "<td>".$v[$i]."</td>";

$sum += $v[$i];

}

echo "<td align=center>".round($sum / count($v),2)."</td>";

echo "</tr>";

}

echo "</table>";

?>

<?

}

function display_anket_form()

{

?>

<p>Ответе на вопросы анкеты оценивая данные показатели по 10 бальной шкале...</p>

<form action="anket_form.php" method="post">

<table width="390" border="3" bordercolor="#0043DC">

<tr>

<td width="230" height="49"><p class="style2">Наименование каналов </p>

</td>

<td width="144"><div align="center">Оценка </div></td>

</tr>

<tr>

<td height="24"><span class="style2">ОНТ</span></td>

<td><label>

<input type="text" name="ont">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Россия</span></td>

<td><label>

<input type="text" name="russia">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">НТВ Беларусь</span></td>

<td><label>

<input type="text" name="ntvbel">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Первый канал</span></td>

<td><label>

<input type="text" name="one">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">СТВ</span></td>

<td><label>

<input type="text" name="ctv">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Первый музыкальный</span></td>

<td><label>

<input type="text" name="onemyz">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">ЛАД</span></td>

<td><label>

<input type="text" name="lad">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">ТВ Центр</span></td>

<td><label>

<input type="text" name="tvcen">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Discovery</span></td>

<td><label>

<input type="text" name="dis">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Euronews</span></td>

<td><label>

<input type="text" name="euro">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">National Geographic Channel</span></td>

<td><label>

<input type="text" name="nation">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">Animal Planet</span></td>

<td><label>

<input type="text" name="anim">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">TV-21</span></td>

<td><label>

<input type="text" name="tv21">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">БелМузТВ</span></td>

<td><label>

<input type="text" name="belmyz">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">MTV</span></td>

<td><label>

<input type="text" name="mtv">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">8 канал</span></td>

<td><label>

<input type="text" name="8kan">

</label></td>

</tr>

<tr>

<td height="24"><span class="style2">ТВ1000</span></td>

<td><label>

<input type="text" name="tv1000">

</label></td>

<tr>

<td height="24"><span class="style2">РЕН ТВ</span></td>

<td><label>

<input type="text" name="ren">

</label></td>

</tr>

</table>

<input type="submit" name="ankbtn" value="Ответить">

</form>

<?

}

?>

<?

if (@$ankbtn) {

include_once("config.php");

$query = "INSERT INTO anketa VALUES ('" .

mysql_escape_string($_POST['ont']) . "','" .

mysql_escape_string($_POST['russia']) . "','" .

mysql_escape_string($_POST['ntvbel']) . "','" .

mysql_escape_string($_POST['one']) . "','" .

mysql_escape_string($_POST['ctv']) . "','" .

mysql_escape_string($_POST['onemyz']) . "','" .

mysql_escape_string($_POST['lad']) . "','" .

mysql_escape_string($_POST['tvcen']) . "','" .

mysql_escape_string($_POST['dis']) . "','" .

mysql_escape_string($_POST['euro']) . "','" .

mysql_escape_string($_POST['nation']) . "','" .

mysql_escape_string($_POST['anim']) . "','" .

mysql_escape_string($_POST['tv21']) . "','" .

mysql_escape_string($_POST['belmyz']) . "','" .

mysql_escape_string($_POST['mtv']) . "','" .

mysql_escape_string($_POST['8kan']) . "','" .

mysql_escape_string($_POST['tv1000']) . "','" .

mysql_escape_string($_POST['ren']) . "')" ;

//mysql_escape_string($_SESSION['valid_user']) . "')" ;

mysql_query($query) or die("error: " . mysql_error());

echo "<br>ваши ответы добавлены в БД...Зайдите на страницу просмотра результатов...<br>";

}

?>

<?

function display_admin_form()

{

db_connect();

if (@$_GET['del']) {

mysql_query("DELETE FROM user WHERE username='" . mysql_escape_string($_GET['del']) . "'");

}

?>

<?

include "config.php";

$result = mysql_query("select * from user;");

$num_results = mysql_num_rows ($result);

echo "<p>Количество пользователей: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++) {

$row = mysql_fetch_array($result);

echo "<br>".($i+1);

echo ". Имя пользователя: ";

echo htmlspecialchars(($row["username"]));

echo "<br>Пароль: " ;

echo htmlspecialchars(($row["password"]));

echo "<br>E-mail:";

echo htmlspecialchars(($row["email"]));

echo "<br>";

?>

<a href="<?=$_SERVER['PHP_SELF']?>?del=<?=$row[0]?>">delete</a>

<?

}

}

?>

<?

function display_admin2_form()

{

db_connect();

if (@$_GET['del']) {

mysql_query("DELETE FROM anketa WHERE ont='" . mysql_escape_string($_GET['del']) . "'");

}

?>

<?

include "config.php";

$result = mysql_query("select * from anketa;");

$result_user = mysql_query("select * from user;");

//$num_results_user = mysql_num_rows ($result_user);

$num_results = mysql_num_rows ($result);

echo "<p>Количество заполненных анкет: ".$num_results."</p>";

for ($i=0; $i <$num_results; $i++) {

$row = mysql_fetch_array($result);

$row_user = mysql_fetch_array($result_user);

//echo "<br>".($i+1);

echo "<br>".($i+1);

echo ". Пользователь: ";

echo htmlspecialchars(($row_user["username"]));

echo " <br>ОНТ: ";

echo htmlspecialchars(($row["ont"]));

echo " <br>Россия: " ;

echo htmlspecialchars(($row["russia"]));

echo " <br>НТВ Беларусь: ";

echo htmlspecialchars(($row["ntvbel"]));

echo " <br>Первый канал: ";

echo htmlspecialchars(($row["one"]));

echo " <br>СТВ: ";

echo htmlspecialchars(($row["ctv"]));

echo " <br>Первый музыкальный: ";

echo htmlspecialchars(($row["onemyz"]));

echo " <br>ЛАД : ";

echo htmlspecialchars(($row["lad"]));

echo " <br>ТВ Центр : ";

echo htmlspecialchars(($row["tvcen"]));

echo " <br>Discovery : ";

echo htmlspecialchars(($row["dis"]));

echo " <br>Euronews : ";

echo htmlspecialchars(($row["euro"]));

echo " <br>National Geographic Channel : ";

echo htmlspecialchars(($row["nation"]));

echo " <br>Animal Planet : ";

echo htmlspecialchars(($row["anim"]));

echo " <br>TV-21 : ";

echo htmlspecialchars(($row["tv21"]));

echo " <br>БелМузТВ : ";

echo htmlspecialchars(($row["belmyz"]));

echo " <br>MTV : ";

echo htmlspecialchars(($row["mtv"]));

echo " <br>8 канал : ";

echo htmlspecialchars(($row["8kan"]));

echo " <br>ТВ1000 : ";

echo htmlspecialchars(($row["tv1000"]));

echo " <br>РЕН ТВ : ";

echo htmlspecialchars(($row["ren"]));

?>

<a href="<?=$_SERVER['PHP_SELF']?>?del=<?=$row[0]?>"> delete</a>

<?

}

}

?>

register_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

do_html_header("Регистрационная форма");

display_registration_form() ;

?>

register_new.php

<?

session_start();

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

require_once("output_fns.php");

menu();

if (!filled_out($_POST))

{

do_html_header("Ошибка!");

echo "Вы не полностью заполнили форму, вернитесь назад и попробуйте заново.";

exit;}

if (!valid_email($email))

{

do_html_header("Ошибка!");

echo "Ошибка в электронном адресе, вернитесь назад и попробуйте заново.";

exit;}

if ($password != $password2)

{ do_html_header("Ошибка!");

echo "Введенные пароли не совпадают, вернитесь назад и попробуйте заново.";

exit;}

if (strlen($password)<6 || strlen($password) >16)

{ do_html_header("Ошибка!");

echo "Длина пароля не соответствует заданному интервалу [от 8 до 16 символов], вернитесь назад и попробуйте заново.";

exit;}

$reg_result = register($username, $email, $password);

if ($reg_result == "true")

{

$valid_user = $username;

session_register("valid_user");

do_html_header("Регистрация прошла успешно");

echo "$valid_user благодарим за регистрацию.";

?><br><?

}

else {do_html_header("Ошибка!");

echo $reg_result;

exit;}

?>

rez_ank_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu2();

do_html_header("Результаты анкетирования");

display_rez_ank_form() ;

menu3();

?>

rez_anket_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu2();

do_html_header("Результаты анкетирования");

display_rez_anket_form() ;

menu3();

?>

user_auth_fns.php

<?

function register($username, $email, $password)

{

// подключение к базе данных

$conn = db_connect();

if (!$conn)

return "Невозможно подключиться к серверу, попробуйте позже.";

$result = mysql_query("select * from user where username='$username' ") ;

if (!$result)

return "Невозможно выполнить запрос к базе данных";

if (mysql_num_rows($result)>0)

return "Пользователь с таким именем уже существует, вернитесь назад и введите другое имя пользователя.";

$result = mysql_query("insert into user values ('$username', password('$password'), '$email')");

if (!$result)

return "Невозможно зарегистрировать нового пользователя в базе данных, попробуйте позже.";

return true; }

?>

<?

function login($username, $password)

{ $conn = db_connect();

if (!$conn)

return false;

$result = mysql_query("select * from user where username='$username' and password = password('$password')");

if (!$result)

return false;

$my=mysql_num_rows($result);

if (mysql_num_rows($result)>0)

return true;

else

return false;}

?>

<?

function logadmin($username, $password)

{ $conn = db_connect();

if (!$conn)

return false;

$result = mysql_query("select * from admin where username='$username' and password = '$password'");

if (!$result)

return false;

$my=mysql_num_rows($result);

if (mysql_num_rows($result)>0)

return true;

else

return false;}

?>

<?

function check_valid_user()

{global $valid_user;

if (session_is_registered("valid_user"))

{

echo "Вход в систему осуществил $valid_user.";

echo "<br>"; }

else{

do_html_header("Ошибка!");

echo "Вы не вошли в систему.<br>";

exit; }}

?>

<?

function check_valid_admin()

{global $valid_user;

if (session_is_registered("valid_user"))

{echo "$valid_user снизошел на эту страницу...";

echo "<br>"; }

else{

do_html_header("Ошибка!");

echo "Вы не вошли в систему.<br>";

exit; }}

?>

<?

function change_password($username, $old_password, $new_password)

{if (login($username, $old_password))

{if (!($conn = db_connect()))

return false;

$result = mysql_query( "update user set password = password('$new_password') where username = '$username'");

if (!$result)

return false;

else

return true; }

else

return false;}

?>

admin2_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu4();

do_html_header("Админ форм");

display_admin2_form() ;

?>

rez_admin_form.php

<?

require_once("output_fns.php");

require_once("data_valid_fns.php");

require_once("db_fns.php");

require_once("user_auth_fns.php");

menu();

menu4();

do_html_header("adminform");

display_rez_anket_form() ;

?>

ПРИЛОЖЕНИЕ 3 АНКЕТА КОНТРОЛЬНОГО ПРИМЕРА

Размещено на Allbest.ru


Подобные документы

  • Обоснование выбора программно-технических средств. Надежность программы и состав технических средств. Разработка структурной схемы программы, алгоритмического и программного интерфейса. Технология разработки интерфейса пользователя и программных модулей.

    дипломная работа [3,2 M], добавлен 22.01.2013

  • Анализ проектирования интерфейса программы. Выбор и назначение визуальных компонентов. Изучение экранных форм приложения. Модули, процедуры, функции проекта и их назначение. Листинг программного кода. Результаты работы автоматизированного продукта.

    курсовая работа [1,9 M], добавлен 11.12.2017

  • Разработка средствами языка PHP и Фреймворка Yii системы регистрации и аутентификации пользователей на сайте. Проектирование приложения с помощью языка UML, построение диаграммы прецедентов. База данных приложения. Страница регистрации пользователей.

    отчет по практике [1,1 M], добавлен 15.09.2014

  • Обзор систем управления сайтом, регистрации и отслеживания ошибок. Создание проекта "Senet" в системе регистрации и отслеживания проблем Mantis. Расчет затрат на разработку и эксплуатацию программного обеспечения. Охрана труда и техника безопасности.

    дипломная работа [1,7 M], добавлен 24.06.2015

  • Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.

    дипломная работа [3,7 M], добавлен 19.01.2017

  • Создание программного обеспечения в среде Visual Basic for Applications для проведения теста по работе полушарий мозга человека. Описание команд. Разработка интерфейса и тестирование программы. Листинг приветствия и задаваемых пользователю вопросов.

    курсовая работа [387,1 K], добавлен 09.03.2014

  • Описание программного обеспечения и языка программирования. Структуризация записей файлов, таблица компонентов. Организация производства: комплекс технических средств, инструкция пользователя. Листинг разработанной программы и оценка ее эффективности.

    дипломная работа [868,3 K], добавлен 29.04.2013

  • Характеристика функциональных возможностей разрабатываемой программы в среде Delphi для регистрации абитуриентов. Описание алгоритма и структуры данной программы. Поиск данных в базе по заданным параметрам. Описание модулей и листинг программы.

    курсовая работа [801,5 K], добавлен 19.07.2011

  • Разработка мультимедиа-программы для прослушивания аудио-файлов и просмотров видео. Описание меню для пользователей и для администраторов проекта. Создание форм для указанного приложения при помощи Visual Foxpro 9. Листинг программы и ее результаты.

    курсовая работа [1,9 M], добавлен 27.07.2013

  • Общие сведения об исследуемой организации, направления ее хозяйственной деятельности, характеристика используемой вычислительной техники и программного обеспечения. Разработка пользовательского интерфейса, шаблонов, отладка и тестирование программы.

    отчет по практике [159,3 K], добавлен 11.04.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.