ПвИ / Лабораторная работа
.doc
Целью данной работы является приобретение базовых навыков разработки Web-приложений с использованием основных возможностей HTML, CSS и JavaScript, а также выбранного языка и платформы разработки.
Отчет по лабораторной работе должен содержать:
-
титульный лист;
-
вариант задания;
-
диаграмму классов и диаграмму используемой БД;
-
листинг программы;
Лабораторные работы выполняются индивидуально!
Обязательные элементы работы:
-
Использование БД
-
Использование HTML+CSS
-
Использование JavaScript
-
Использование объектно-ориентированного подхода к разработке
При отсутствии любого из описанных выше элементов работа не будет приниматься к сдаче.
Требования к работе
-
Работа должна быть разработана самостоятельно!
-
Должны быть реализованы все 4 основных типа запросов БД (select, insert, update, delete).
-
HTML и CSS должен быть выполнен аккуратно, без явных недоработок.
В программу курса включены две достаточно обширные платформы для разработки web-приложений PHP и ASP.NET. Тем не менее:
в качетве платформы для разработки web-приложения может быть выбрана любая из доступных студенту. Работа может быть выполена на любом языке программирования.
Вопросы при защите лабораторной работы будут задаваться в зависимости от платформы, выбранной студентом.
Ниже приведены варианты заданий, а также примеры вопросов, которые могут задаваться при защите работы на PHP.
Варианты заданий:
FYI, варианты заданий позаимствованы у курса ООП.
Варианты заданий:
1.Определить класс "Склад" с полями "Название товара", "Количество", "Дата поступления"; “Наличие свободного места”. Операции: прием товара, как имеющегося в наличии, так и нового с учетом свободного места, его выдача, составление отчета о наличии товаров.
2.Определить класс “Аэропорт” с полями “Количество взлетно-посадочных полос и их занятость”, “Пропускная способность диспетчерской службы”, “Типы принимаемых самолетов”. Предусмотреть операции по приему одного или нескольких самолетов и их отправлению с учетом возможностей диспетчерской службы и занятости ВПП.
3.Определить класс “Жилое здание” с полями “, “Общее количество квартир”, “Количество пустующих квартир”, “Тип квартиры (площадь)”, “Оплата за квартиру ( по типам)”, “ Сумма оплаты всего здания”. Последнее поле должно предусматривать категории оплат: вода, отопление и т.п. Операции: заселение и выселение жильцов, изменение оплаты по категориям, расчет суммы за квартиру и общей.
4.Определить класс “ Предприятие” с полями “Категория работника”,“Количество работников по категориям”, “Средняя зарплата по категориям”, “Общий фонд зарплаты”. Операции: прием и увольнение работников, увеличение и уменьшение фонда зарплаты, изменение количества работников по категориям и изменение их средней зарплаты.
5. Определить класс “Порт” с полями “Количество причалов”, ”Погрузочно-разгрузочные комплексы (например, на причале №1 возможна обработка леса, на следующем –погрузка зерна и т.п.”, “Занятость причалов”. Предусмотреть операции по подводу судна к причалу с учетом характера груза, причала и его занятости.
6. Определить класс «Кинотеатр» с полями «Фильм», «Количество мест», «Количество посетителей», «Длительность фильма», «Стоимость билета» и «Время сеанса». Предусмотреть возможность контроля за продажей билетов, добавления/удаления фильмов из фильмотеки, вычисления стоимости билета в зависимости от длительности фильма и времени сеанса, получения статистики посещения кинотеатра по времени суток и по наименованию фильма.
Дополнительные варианты заданий (при выполнении заданий из этого списка можно получить бонус до 10 баллов):
Для успешной сдачи этих работ не обязательно сложное оформление интерфейса приложения.
-
Необходимо реализовать простой каталог по учету книг в домашней библиотеке. Книги должны разделяться по жанрам. Должен присутствовать поиск по авторам, жанрам и названию книг. Структура БД должна быть близка нормализованной.
-
Необходимо реализовать простой интернет-магазин, позволяющий добавлять товары, разделенные по категориям. Должен быть реализован поиск по категориям и названиям товаров. Структура БД должна быть близка нормализованной.
-
Реализовать простой движок микроблоггинга. Только базовые возможности – добавление новых записей, друзей, поиск друзей и отображение френд-ленты.
Контрольные вопросы
-
Какие из приведенных ниже имен переменных не разрешены правилами PHP?
$a_value_submitted_by_a_user
$6666xyz
$xyz6666
$__counter__
$the first
$file-name
-
Что выведет на экран следующая инструкция?
print gettype(“4”);
-
Как воспользоваться переменной типа string, созданной с помощью оператора присваивания $my_var = “dynamic”; для создания динамической переменной, значение которой равно 4?
-
Как обратиться к созданной динамической переменной?
-
Каков будет вывод следующего фрагмента программы?
$test_val = 5.4566;
settype( $test_val, integer);
print $test_val;
-
Какая из следующих строк не содержит выражения?
4;
gettype(44);
5 / 12;
-
Какая из строк в предыдущем вопросе содержит оператор?
-
Каково значение следующего выражения?
5 < 2
-
Каков тип данных этого выражения?
-
< 2
-
Обязательно ли окружать скобками управляющее выражение в условных конструкциях и циклах?
-
Должно ли управляющее выражение, используемое для проверки условия, обязательно иметь значение булевого типа?
-
Дано следующее описание цикла:
for($i=1;$i<10;i++)
Необходимо оформить аналогичный цикл с использованием while и do … while.
-
При помощи какой функции можно преобразовать данные любого типа в другой тип?
-
Можно ли выполнить преобразование типа без применения функций?
-
Каким будет результат выполнения следующего фрагмента?
print “four”*200;
-
Каким будет результат выполнения следующего фрагмента?
print “1”*100;
-
Какими будут результаты выполнения представленных фрагментов?
$user = “Администратор”;
print $user;
и
$holder = “user”;
$$holder = “Администратор”
print $user;
-
Возможно ли использование переменных строкового типа в конструкции switch?
-
Может ли функция получить доступ к внешней переменной без использования директивы global?
-
В чем отличие описаний следующих функций?
function f($x) … |
function f(&$x) … |
-
Должно ли определение функции предшествовать ее вызову?
-
Могут ли аргументы по умолчанию функции предшествовать обязательным аргументам?
-
Допустим ли вызов функции в операторе return?
-
Правда ли, что если функция не требует аргументов, то скобки при ее вызове можно не писать?
-
Каким будет результат выполнения следующего фрагмента?
$number = 50;
function on_ten()
{
$number *= 10;
}
on_ten();
print $number;
-
Каким будет результат выполнения следующего фрагмента?
$number = 30;
function on_ten($s)
{
$s = $s * 10;
}
on_ten($number);
print $number;
-
Содержит ли ошибку следующий фрагмент?
function &test_return()
{
return $some;
}
$new = &test_return();
-
Синтаксис объявления класса в PHP.
-
Наследование в PHP.
-
Модификаторы доступа для членов класса, назначение и использование.
-
Абстрактные классы в PHP.
-
Интерфейсы в PHP.
-
«Волшебные» методы классов PHP.
-
Работа с БД в PHP. Основные функции.