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

19-09-2013_11-55-12 / Лабораторная работа3

.doc
Скачиваний:
27
Добавлен:
21.05.2015
Размер:
94.72 Кб
Скачать

Лабораторная работа № 3

Задание № 1

В скрипте 

  1. Создайте массив $treug[] «треугольных» чисел, т.е. чисел вида n(n+1)/2 (где n=1,2,… 10) и выведите значения этого массива на экран в строку (через 2 пробела).

  2. Создайте массив $kvd[] квадратов натуральных чисел от 1 до 10, выведите значения этого массива на экран в строку.

  3. Создайте массив $kvd[] квадратов натуральных чисел от 1 до 10, выведите значения этого массива на экран в строку.

  4. Отсортируйте массив $rez[], выведите результат на экран.

  5. Удалите в массиве $rez[] первый элемент, выведите результат на экран.

  6. С помощью функции array_unique() удалите из массива $rez[] повторяющиеся элементы, результат занесите в массив $rez1[] и выведите его на экран.

Задание № 2

В скрипте 

1. Создайте массив $treug[] «треугольных» чисел (для n от 1 до 30)  и массив квадратов $kvd[] (для n от 1 до 30).

2. Используя вложенные циклы while отобразите на экране таблицу Пифагора 30×30 (размер чисел в ячейках равен 8 пунктов). В этой таблице фон у ячеек с квадратами чисел должен быть синим, а у ячеек с «треугольными» числами - зеленым. У ячеек, в которых стоят числа, одновременно являющиеся и квадратами и «треугольными» (здесь это числа 1 и 36) фон должен быть красным. У остальных ячеек фон белый. Для проверки правильности закрашивания ячеек, под таблицей выведите «треугольные» числа в строку. В результате должно получиться так:

Задание № 3

В скрипте 

1. Создайте ассоциативный массив $cust[]  с ключами cnum, cname, city и snum  и значениями: 2001, Hoffman, London, и 1001.

Выведите этот массив (вместе с именами ключей) на экран.

2. Добавьте в массив ключ rating со значением 100.

Выведите этот массив (вместе с именами ключей) на экран.  Где именно стоит добавленное значение?

3. Отсортируйте этот массив по значениям. Выведите результат на экран.

4. Отсортируйте этот массив по ключам. Выведите результат на экран.

5. Выполните сортировку массива с помощью функции sort().

Выведите результат на экран и объясните что получилось.

Задание № 3

Создайте файл с HTML-формой, которая вызывает сама себя.

В форме можно выбрать  а) горизонтальное (align, варианты значений: left, center, right),  б) вертикальное (valign, варианты значений: top, middle, bottom)  расположение текста в таблице.

Для (а) использовать переключатели, для (б) - флажки. По умолчанию установите такие значения: для align - «left», для valign - «top».

Обработка формы выполняется по нажатии кнопки «Выполнить».

Над формой должна быть таблица, состоящая из одной ячейки шириной и высотой 100 пикселов. В ячейку таблицы поместите слово «Текст» 

Задание № 4

Создайте скрипт в котором сперва проверяется, было ли присвоено значение переменной $site. Если проверка дает положительный результат, осуществляется перенаправление пользователя на сайт поисковой системы, адрес которого — значение переменной $site. Если же значение переменной $site не задано, выводится HTML-форма с раскрывющимся списком поисковых сайтов: 

Эти сайты должны быть занесены в массив $list_sites[]. Предполагается, что данный массив может дополняться, а значит его размер заранее неизвестен, поэтому раскрывающийся список с адресами поисковых систем сформировать с помощью цикла while и функции, возвращающей количество элементов массива.

Задание № 5

Создайте файл lab9-3a.htm с HTML-формой анкеты, определяющей характер человека.

Пользователю предлагается в текстовом поле ввести свое имя, а затем ответить «да» или «нет» на следующие вопросы:  1. Считаете ли Вы, что у многих ваших знакомых хороший характер?  2. Раздражают ли Вас мелкие повседневные обязанности?  3. Верите ли Вы, что ваши друзья преданы Вам?  4. Неприятно ли Вам, когда незнакомый человек делает Вам замечание?  5. Способны ли Вы ударить собаку или кошку?  6. Часто ли Вы принимаете лекарства?  7. Часто ли Вы меняете магазин, в который ходите за продуктами?  8. Продолжаете ли Вы отстаивать свою точку зрения, поняв, что ошиблись?  9. Тяготят ли Вас общественные обязанности?  10. Способны ли Вы ждать более 5 минут, не проявляя беспокойства?  11. Часто ли Вам приходят в голову мысли о Вашей невезучести?  12. Сохранилась ли у Вас фигура по сравнению с прошлым?  13. Можете ли Вы с улыбкой воспринимать подтрунивание друзей?  14. Нравится ли Вам семейная жизнь?  15. Злопамятны ли Вы?  16. Находите ли Вы, что стоит погода, типичная для данного времени года?  17. Случается ли Вам с утра быть в плохом настроении?  18. Раздражает ли Вас современная живопись?  19. Надоедает ли Вам присутствие чужих детей в доме более одного часа?

Ответ на каждый из вопросов представьте с помощью переключателя («да» или «нет»): 

По умолчанию задайте везде значение «да».

Напишите сценарий обработки анкеты (скрипт lab9-3b.php): поставьте 1 балл, если был ответ «да» в вопросах с номерами 3, 9, 10, 13, 14, 19 и «нет» в вопросах с номерами 1, 2, 4, 5, 6, 7, 8, 11, 12, 15, 16, 17, 18. Посчитайте сумму набранных баллов.  Если она оказалась более 15, то результат: «У Вас покладистый характер»;  если сумма в интервале от 8 до 15, то результат: «Вы не лишены недостатков, но с вами можно ладить»;  если сумма менее 8 баллов, то результат: «Вашим друзьям можно посочувствовать».

Отобразите на экране имя анкетируемого, фразу-результат анкетирования и соответствующее этому результату изображение (из папкиimages):

r1.gif

r2.gif

r3.gif

Задание № 6

Создайте файл с HTML-формой «Анкета переводчика». Сведения о языках, которыми может владеть переводчик, представлены в виде раскрывающегося списка с множественным выбором

Обработка формы выполняется в скрипте lab9-4b.php, в котором необходимо сделать вывод на экран списка языков, которыми владеет переводчик и суммарного вознаграждения.  Например:

Вы знаете английский французский немецкий Ваше вознаграждение 900 у.е.

При этом знание языков оценивается так:

  1. украинский — 100 у.е.

  2. английский — 200 у.е.

  3. французский — 300 у.е.

  4. немецкий — 400 у.е.

  5. китайский — 500 у.е.

  6. японский — 600 у.е.

Обязательно предусмотрите обработку случая, когда ни один из языков не выбран, а кнопка «Определить» нажата.  Например:

А Вы вообще что-нибудь знаете?  Ваше вознаграждение 0 у.е.