Список заданий

Задание 1. Основы языка PHP

Тема: Динамическое построение страницы на PHP. Переменные, операторы, конструкции языка.

Написать программу на языке PHP, которая построит на странице таблицу умножения (см. ниже). При написании программы использовать операторы цикла.

Дать заголовок странице и настроить мета-теги.

Задание 2. Работа с массивами

Тема: Ассоциативные массивы. Операторы перебора значений и ключей массива.

В ассоциативном массиве заданы продукты и их цены ( больше 20 элементов).
1. Найдите 5 самых дешевых продуктов.
2. Найдите 5 самых дорогих продуктов.
3. Найдите продукты с одинаковой ценой.
4. Найдите пары продуктов цены которых отличаются не более, чем на 10 рублей.
5. Найдите два продукта разность в цене у которых минимальна, но не с одинаковой стоимостью.
6. Поменяйте местами цены у самого дорого и самого дешевого продукта.
7. Какие продукты больше всего раз совпадают по цене.
8. Перечислите все продукты с несовпадающими ценами.
9. Найдите продукт, стоимость которого ближе всего к среднему арифметическому стоимости всех продуктов.

Задание 3. Передача параметров

Тема: Протокол HTTP. HTML-формы. GET- и POST-запросы.

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

1. Задайте треугольник координатами вершин, посчитайте периметр треугольника.
2. Задайте треугольник длинами сторон, посчитайте площадь треугольника.
3. Задайте треугольник координатами вершин, найдите длины всех медиан.
4. Задайте прямоугольник координатами его диагонали, посчитайте периметр и площадь прямоугольника.
5. Задайте четырехугольник координатами вершин, посчитайте площадь четырехугольника.
6. Задайте треугольник длинами сторон, определите можно ли построить такой треугольник.
7. Задайте окружность двумя точками, определяющими диагональ квадрата в который вписана окружность. Задайте точку и определите попадает она в эту окружность или нет.
8. Задайте две окружности четырьмя точками, определяющими диагонали двух прямоугольников в которые вписаны окружности. Определите, пересекаются ли эти окружности.
9. Задайте два отрезка четырьмя точками. Найдите точку пересечения.

Задание 4. Работа с файлами

Тема: Работа с файлами на сервере. Загрузка файлов. Создание, изменение, поиск информации в файлах.

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

1. Студенты: фамилия, группа, телефон.
2. Компьютеры: название, тип процессора, объем памяти.
3. Смартфоны: модель, размер экрана, объем памяти
4. Фильмы: название, год создания, страна.
5. Продукты: название, цена, количество.
6. Страны: название, столица, площадь.
7. Сайты: домен, владелец, хостинг.
8. Банки: название, страна, капитал.
9. Лекарства: название, тип, цена.

Задание 5. Графика

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

Постройте любое цветное узнаваемое изображение с использованием повторяющихся элементов (циклы). В изображении использовать не менее 6 графических примитивов.

Задание 6. Регулярные выражения

Тема: Регулярные выражения. Поиск и замена по шаблону.

Напишите скрипт, который выполнит поиск определенных конструкций на странице http://grafika.me/node/37

1. Найдите все картинки на странице и покажите название файлов.
2. Найдите все операторы присвоения и выведите полностью все выражение.
3. Выведите все операторы внутри конструкций begin-end.
4. Выведите все операторы внутри циклов for.
5. Выведите все операторы внутри цикла while.
6. Найдите все выражения выделенные жирным с помощью тега <strong>.
7. Найдите все ссылки на странице, выведите их URL.
8. Выведите все заголовки блоков, которые присутствуют на странице.
9. Выведите все комментарии внутри примеров на языке Pascal.

Задание 7. Работа с базой данных

Тема: проектирование и создание базы данных, подключение к СУБД MySQL, интерфейс работы с БД, выборки.

Создайте базу данных из двух таблиц по теме предложенной ниже. В каждой таблице определите по 4 столбца и заполните данными, близкими к реальным (не менее 5 записей). Организуйте интерфейс заполнения данными с контролем ссылочной целостности. Сделайте поиск в базе данных по двум любым столбцам.

1. Альбомы - песни
2. Команды - игроки
3. Кафедры - преподаватели
4. Сады - растения
5. Зоопарки - животные
6. Библиотеки - книги
7. Классы - ученики
8. Города - достопримечательности
9. Музеи - картины

Задание 8. Работа с Cookies и Session

Тема: Создание и использование Cookies. Открытие и работа с Session. Отличие механизмов Cookies от Session.

Создайте два PHP-скрипта: index.php и test.php. Сделайте в первом скрипте index.php форму опроса пользователя с предложенными ниже в заданиях параметрами (или в варианте 8-9 просто заполните параметры нужными значениями). Сохраните значения введенных параметров в переменных массива $_COOKIE или $_SESSION. Передайте управление скрипту test.php без использования GET или POST запросов.

Задание 9. Выполнение JavaScript в браузере клиента

Тема: Основы языка JavaScript. Запуск, выполнение и отладка.

Выполните задания, предложенные ниже, используя только прототипно-ориентированный сценарный язык JavaScript.

1. Сделайте бегущую строку текста в начале страницы.
2. Реализуйте секундомер, запускаемый по нажатию кнопки.
3. Реализуйте таймер с сигналом и выставлением времени.
4. Напишите игру "Угадай число". Компьютер загадывает число и подсказывает "больше", "меньше".
5. Напишите игру "Спортлото 5 из 36". Пользователь выбирает 5 чисел из 36. Компьютер по порядку выдает случайные числа. Угаданные числа отмечаются цветом или стилем.
6. Напишите игру "Кости". Два игрока по очереди кидают два кубика. Побеждает тот, у кого на кубиках сумма больше.
7. Напишите скрипт, отсчитывающий количество дней, оставшихся до нового года.
8. Реализуйте управление графическим объектом на странице с помощью кнопок. Сделайте поворот и перемещение объекта.
9. Реализуйте масштабирование изображения с помощью кнопок.

Задание 10. Использование популярных JS-библиотек

Тема: Подключение и использование сторонних JavaScript библиотек.

Подключите любые библиотеки JQuery.js, Fabric.js, Raphael.js или другую и напишите демосцену, наподобие представленных на сайте Компьютерная графика.

Контрольное задание

Разработка веб-сайта по любой выбранной теме, со следующими требованиями:

1. Аккуратная верстка. Блочная или табличная, предпочтительнее блочная. (Бонус за размещение своего фото).
2. Как минимум два уровня доступа пользователей: "Администратор" и "Обычные пользователи".
3. Как минимум пять основных страниц, реализующих описанные ниже возможности.