Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПвИ / Лабораторная работа

.doc
Скачиваний:
61
Добавлен:
01.06.2015
Размер:
56.32 Кб
Скачать

Целью данной работы является приобретение базовых навыков разработки Web-приложений с использованием основных возможностей HTML, CSS и JavaScript, а также выбранного языка и платформы разработки.

Отчет по лабораторной работе должен содержать:

  • титульный лист;

  • вариант задания;

  • диаграмму классов и диаграмму используемой БД;

  • листинг программы;

Лабораторные работы выполняются индивидуально!

Обязательные элементы работы:

  1. Использование БД

  2. Использование HTML+CSS

  3. Использование JavaScript

  4. Использование объектно-ориентированного подхода к разработке

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

Требования к работе

  • Работа должна быть разработана самостоятельно!

  • Должны быть реализованы все 4 основных типа запросов БД (select, insert, update, delete).

  • HTML и CSS должен быть выполнен аккуратно, без явных недоработок.

В программу курса включены две достаточно обширные платформы для разработки web-приложений PHP и ASP.NET. Тем не менее:

в качетве платформы для разработки web-приложения может быть выбрана любая из доступных студенту. Работа может быть выполена на любом языке программирования.

Вопросы при защите лабораторной работы будут задаваться в зависимости от платформы, выбранной студентом.

Ниже приведены варианты заданий, а также примеры вопросов, которые могут задаваться при защите работы на PHP.

Варианты заданий:

FYI, варианты заданий позаимствованы у курса ООП.

Варианты заданий:

1.Определить класс "Склад" с полями "Название товара", "Количество", "Дата поступле­ния"; “Наличие свободного места”. Операции: прием товара, как имеющегося в наличии, так и нового с учетом свободного места, его выдача, составление отчета о наличии товаров.

2.Определить класс “Аэропорт” с полями “Количество взлетно-посадочных полос и их за­нятость”, “Пропускная способность диспетчерской службы”, “Типы принимаемых самолетов”. Предусмотреть операции по приему одного или нескольких самолетов и их отправлению с уче­том возможностей диспетчерской службы и занятости ВПП.

3.Определить класс “Жилое здание” с полями “, “Общее количество квартир”, “Количество пустующих квартир”, “Тип квартиры (площадь)”, “Оплата за квартиру ( по типам)”, “ Сумма оплаты всего здания”. Последнее поле должно предусматривать категории оплат: вода, отопле­ние и т.п. Операции: заселение и выселение жильцов, изменение оплаты по категориям, рас­чет суммы за квартиру и общей.

4.Определить класс “ Предприятие” с полями “Категория работника”,“Количество работ­ников по категориям”, “Средняя зарплата по категориям”, “Общий фонд зарплаты”. Операции: прием и увольнение работников, увеличение и уменьшение фонда зарплаты, изменение количе­ства работников по категориям и изменение их средней зарплаты.

5. Определить класс “Порт” с полями “Количество причалов”, ”Погрузочно-разгрузочные комплексы (например, на причале №1 возможна обработка леса, на следующем –погрузка зерна и т.п.”, “Занятость причалов”. Предусмотреть операции по подводу судна к причалу с учетом характера груза, причала и его занятости.

6. Определить класс «Кинотеатр» с полями «Фильм», «Количество мест», «Количество по­сетителей», «Длительность фильма», «Стоимость билета» и «Время сеанса». Предусмотреть возможность контроля за продажей билетов, добавления/удаления фильмов из фильмотеки, вы­числения стоимости билета в зависимости от длительности фильма и времени сеанса, получе­ния статистики посещения кинотеатра по времени суток и по наименованию фильма.

Дополнительные варианты заданий (при выполнении заданий из этого списка можно получить бонус до 10 баллов):

Для успешной сдачи этих работ не обязательно сложное оформление интерфейса приложения.

  1. Необходимо реализовать простой каталог по учету книг в домашней библиотеке. Книги должны разделяться по жанрам. Должен присутствовать поиск по авторам, жанрам и названию книг. Структура БД должна быть близка нормализованной.

  2. Необходимо реализовать простой интернет-магазин, позволяющий добавлять товары, разделенные по категориям. Должен быть реализован поиск по категориям и названиям товаров. Структура БД должна быть близка нормализованной.

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

Контрольные вопросы

  1. Какие из приведенных ниже имен переменных не разрешены правилами PHP?

$a_value_submitted_by_a_user

$6666xyz

$xyz6666

$__counter__

$the first

$file-name

  1. Что выведет на экран следующая инструкция?

print gettype(“4”);

  1. Как воспользоваться переменной типа string, созданной с помощью оператора присваивания $my_var = “dynamic”; для создания динамической переменной, значение которой равно 4?

  2. Как обратиться к созданной динамической переменной?

  3. Каков будет вывод следующего фрагмента программы?

$test_val = 5.4566;

settype( $test_val, integer);

print $test_val;

  1. Какая из следующих строк не содержит выражения?

4;

gettype(44);

5 / 12;

  1. Какая из строк в предыдущем вопросе содержит оператор?

  2. Каково значение следующего выражения?

5 < 2

  1. Каков тип данных этого выражения?

  1. < 2

  1. Обязательно ли окружать скобками управляющее выражение в условных конструкциях и циклах?

  2. Должно ли управляющее выражение, используемое для проверки условия, обязательно иметь значение булевого типа?

  3. Дано следующее описание цикла:

for($i=1;$i<10;i++)

Необходимо оформить аналогичный цикл с использованием while и do … while.

  1. При помощи какой функции можно преобразовать данные любого типа в другой тип?

  2. Можно ли выполнить преобразование типа без применения функций?

  3. Каким будет результат выполнения следующего фрагмента?

print “four”*200;

  1. Каким будет результат выполнения следующего фрагмента?

print “1”*100;

  1. Какими будут результаты выполнения представленных фрагментов?

$user = “Администратор”;

print $user;

и

$holder = “user”;

$$holder = “Администратор”

print $user;

  1. Возможно ли использование переменных строкового типа в конструкции switch?

  2. Может ли функция получить доступ к внешней переменной без использования директивы global?

  3. В чем отличие описаний следующих функций?

function f($x) …

function f(&$x) …

  1. Должно ли определение функции предшествовать ее вызову?

  2. Могут ли аргументы по умолчанию функции предшествовать обязательным аргументам?

  3. Допустим ли вызов функции в операторе return?

  4. Правда ли, что если функция не требует аргументов, то скобки при ее вызове можно не писать?

  5. Каким будет результат выполнения следующего фрагмента?

$number = 50;

function on_ten()

{

$number *= 10;

}

on_ten();

print $number;

  1. Каким будет результат выполнения следующего фрагмента?

$number = 30;

function on_ten($s)

{

$s = $s * 10;

}

on_ten($number);

print $number;

  1. Содержит ли ошибку следующий фрагмент?

function &test_return()

{

return $some;

}

$new = &test_return();

  1. Синтаксис объявления класса в PHP.

  2. Наследование в PHP.

  3. Модификаторы доступа для членов класса, назначение и использование.

  4. Абстрактные классы в PHP.

  5. Интерфейсы в PHP.

  6. «Волшебные» методы классов PHP.

  7. Работа с БД в PHP. Основные функции.

Соседние файлы в папке ПвИ