Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Определить товар с минимальной ценой. Решить задачу, методом вытеснения, используя только конструкцию if.

Задания к лабораторным работам

 

Правила выполнения лабораторных работ в компьютерных классах ФЭУ

Лабораторные работы выполняются на виртуальном сервере, запускаемом на компьютере клиента (рабочей станции). Перед выполнением заданий следует познакомиться с правилами создания виртуального сервера, средствами для размещения и запуска программ PHP.

Файлы программ рекомендуется предварительно подготовить в текстовом редакторе и сохранить на жестком диске и дискете студента.

Запуск серверной программы выполняется командным файлом Run.exe, лежащим на диске С: в папке C:\Webserver\Denwer. После успешного запуска на панели задач появляется значок сервера Apache  и виртуальный диск Z: Структура папок диска стандартная для сервера представлена на рис. 1.1.

 

Рис. 1.1. Структура папок виртуального сервера.

 

Для запуска скриптов php их необходимо размещать в папке WWW. В этом случае вызов программы, например prog 1. php, будет соответствовать записи в адресном поле браузера - http://localhost/prog1.php ( уточнить у преподавателя - возможно, потребуется указывать номер порта - http:// localhost:8888/)

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

 

ЗАДАНИЕ 1

Тема. Основные конструкции языка PHP, операторы присваивания, операторы вывода.

 

1. Изучить материалы приложения п.1-п.3.

2. Подготовить в Блокноте или в любом текстовом редакторе программу (файл lab1_1.php), выполняющую следующие действия

· Создать три переменные с названием товаров ($product1, $product2, $product3) и соответствующие им переменные с ценой товаров ($priec1, $priec2, $priec3), вывести их на экран.

· Рассчитать и вывести среднюю цену товара.

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

Рис. 1.2. Результат работы программы lab1_1.php.

 

2.1. Протестировать программу с различными значениями переменных.

Примечание. Если средняя цена оказывается дробной, можно использовать функцию вывода с форматированием printf(). Например,

printf("<h3 align=center> средняя цена %.2f руб.</h3><br>",$sr);

Здесь в кавычках записывается весь необходимый текст, а на месте вывода переменной указывается ее формат. В нашем случае %.2f – формат для вывода числа с двумя знаками после запятой. Далее после запятой указываются имена переменных.

3. Оформить вывод данных о товарах в виде таблицы. Например, как показано на рис.1.3.

Рис. 1.3.

 

3.1. Для оформления таблицы поместить тэги в оператор вывода (echo или print). Например, оператор вывода строки таблицы с наименованием и ценой первого товара может выглядеть так:
echo "< tr >< td >$ tov 1</ td >< td >$ price 1</ td ></ tr >";

Сохранить файл под именем lab1_21.php

3.2. Использовать для табличного вывода HTML блоки. Для вывода переменных в тэги включить фрагменты программы. Например, фрагмент HTML блока для вывода строки с первым товаром может выглядеть так:
<tr>< td ><?echo $tov1;?></ td >< td ><?=$ price 1?></ td ></ tr >

В случае вывода одной переменной можно использовать сокращенную форму оператора: <? = $ tov 1?>

Сохранить файл под именем lab1_22.php

 

ЗАДАНИЕ 2

Тема. Основные конструкции языка PHP, операторы сравнения.

 

1. Сравнить цены товаров и вывести наименование и цену самого дорогого товара. Сопроводить вывод результата соответствующим сообщением (рис. 2.1).

Рис. 2.1. Результат работы программы lab2_1.php.

 

1.1. Решить задачу, используя конструкции if и elseif.

Подготовить файл lab2_1.php, модифицировав текст программы Задания 1. Сравнить цену первого товара с ценами второго и третьего товаров. Если она окажется больше сформировать вспомогательную переменную, например $max_prise, равную цене первого товара и $max_ product, равную наименованию первого товара.

В противном случае сравнить цены второго и третьего товаров (использовать конструкцию elseif и else) и записать во вспомогательные переменные соответствующие данные. Вывести вспомогательные переменные.

1.2. Протестировать программу с различными значениями переменных.

Определить товар с минимальной ценой. Решить задачу, методом "вытеснения", используя только конструкцию if.

2.1. Сохранить файл lab2_1.php под именем lab2_2.php и отредактировать его.

Во вспомогательные переменные $max_prise и $max_ product сразу записать данные о первом товаре. Последовательно сравнить цены второго и третьего товаров со значением, записанным в переменной $max_prise (конструкция if). Если цена окажется меньше, переопределить переменные $max_prise и $max_ product.

2.2. Протестировать программу с различными значениями переменных.

2.3. Предъявить результаты работы преподавателю.

 

ЗАДАНИЕ 3

Тема. Основные конструкции языка PHP. Функции пользователя.

 

 

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

2. Оформить решение задачи Задания 2 с помощью функции, определяющей товар с максимальной ценой. Функция должна иметь шесть формальных входных параметров: три переменных - наименования товаров и три переменных, задающих их стоимость. Вывод искомых данных производить внутри функции. После описания функции вызвать ее не менее трех раз с различными значениями фактических параметров. Программе дать имя lab3_1.php

3. Подготовить файл lab3_2.php, обеспечивающий проверку правильности ввода пароля.

3.1. Действия по проверке пароля должны выполняться с помощью пользовательской функции с одним входным аргументом (см. пример 4.2).

3.2. Функция должна сравнивать пароль, заданный внутри функции, с паролем, переданный ей через аргумент.

3.3. Результат сравнения вывести в виде текста: "Пароль верный" или "Ошибка в пароле". Вывод сообщения должен производиться при внутри тела функции

3.4. Протестировать программу с различными значениями пароля.

4. Модифицировать программу так, чтобы вызов функции выполнялся в операторе вывода. Например, если имя функции control($p), то ее вызов:

 

print control("1234");

 

Внутри тела функции использовать инструкцию return.

ЗАДАНИЕ 4

Тема. Операторы циклов while и for. Организация циклических вычислительных процессов.

 

1.  Изучить материалы приложения п. 3, относящиеся к организации циклов в PHP. Протестировать примеры 3.4 и 3.5.

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

Пусть стоимость товара равна 100 р. в начале текущего года.

Процент инфляции в этом году по прогнозам составит 10%.

В последующие годы прогнозируется увеличение процента инфляции на 3,5% в год.

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

Использовать цикл while. Сохранить программу в файле lab4_1.php. Предъявить результат преподавателю.

· Решить ту же задачу с помощью цикла for.

Вывести прогнозируемую стоимость товара к концу текущего года и в последующие 5 лет. Вывод оформить в виде таблицы ГОД => ЦЕНА.

Сохранить программу (файл lab 4_2.php) на сервере и протестировать ее.

3. Модифицировать файл lab 4_2.php (сохранить под именем lab 4_3.php) для решения следующей задачи.

Пусть при достижении стоимости товара 170 р, инфляция начнет снижаться каждый год на 3,5%. Спрогнозировать стоимость товара через 10 лет.

 

ЗАДАНИЕ 5

 

Работа с массивами. Создание и обработка простых (индексированных) массивов и ассоциированных массивов.

Использование циклов для работы с массивами.

 

 

1. Изучить материалы приложения п. 5 – работа с массивами.

2. Подготовить текст программы, выполняющей следующие действия (файл lab5_1.php).

· Создать список (индексированный массив), состоящий из 5-ти наименований товаров с помощью функции array() (см. пример 5.1).

· Добавить еще не менее двух элементов массива с помощью идентификатора массива (см. пример 5.2).

· Определить количество элементов массив, используя функцию count (), и вывести названия товаров в цикле for.

3. Протестировать работу программы с различным количеством элементов массива.

3.1. Модифицировать программу, добавив сортировку массива в алфавитном порядке наименований товаров (использовать функцию sort). Вывести на экран исходный массив и результат сортировки.

4. Подготовить программу для обработки ассоциативного массива –
файл lab 4_2.php.

4.1. Программа должна обеспечивать следующее.

· Создать ассоциативный массив: ТОВАР => ЦЕНА. Где название товара – это ключ (индекс) массива, а цена – значения элементов массива.

· Массив должен содержать не мене 5-ти элементов, три из них задать с помощью функции array(), а остальные задать непосредственно в операторе присваивания (см. примеры 5.4 и 5.5).

· Вывести товары и цены, используя оператор цикла   foreach() (см. пример 5.8).

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

5. Модифицировать программу для решения следующих задач.

· Подсчитать количество товаров и их суммарную стоимость.

6. Отсортировать массив:

6.1.  В порядке убывания (возрастания) цены товара и вывести на экран (использовать функции asort()/arsort()).

6.2. Выполнить сортировку массива так, чтобы товары расположились в алфавитном порядке для чего использовать функции или ksort()/krsort()

7. Предъявить результат преподавателю.

ЗАДАНИЕ 6

Тема. Работа с формами. Обработка данных, введенных пользователем через поля формы.

 

1. Изучить материалы приложения п. 6. Протестировать примеры 6.1 – 6.4.

2. Подготовить текст программы, выполняющей следующие действия.

2.1. Создать html-документ (файл lab6_1.html), содержащий форму с полями Ф.И.О., Адрес, Email, Пароль и передать введенные данные для обработки php-программе - файлу  lab6_2.php для вывода данных на экран.

2.2. Протестировать работу программы

2.3. Решить ту же задачу, но с помощью одного файла – lab6_3.php. Проверить работоспособность программы. Предъявить результат преподавателю.

3. Познакомиться с примерами 6.5 и 6.6 – многократного обращения пользователя к программе.

4. Подготовить программу для решения аналогичной задачи, но проверяющей пароль пользователя. Значение правильного пароля задается внутри текста программы. Сохранить текст программы в файле lab6_4.php и протестировать ее.

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

6. Подготовить файл lab6_5.html для отправки электронного письма. Файл должен содержать форму, в которой расположить 4 элемента с соответствующими комментариями:

· Текстовое поле (text) с именем to

· Текстовое поле (text) с именем subject

· Текстовую область (textarea) с именем message

· Кнопка (submit) с именем mail_ok

Данные из формы передаются методом POST скрипту – файлу (lab5_5.php) с функцией отправки сообщения и проверкой правильности отправки письма.

Пояснения к программе.

При обработке данных полученных из формы, сформировать соответствующие переменные: $to, $subject и $message (см. рис. 3.1).

Затем информацию из этих переменных использовать для отправки письма на адрес e-mail, указанный в переменной $mail.

Для этого необходимо использовать функцию mail ():

 

bool mail (string $to, string $subject, string $message)

 

Функция возвращает значение TRUE если почта отправлена и FALSE в противном случае. Так как при работе с локальным хостингом оправка письма не производится проверку правильности передачи письма выполнить с помощью оператора If и вывести соответствующее сообщение на экран.

Рис. 6.1. Пример программы для отправки электронного письма.

7. Предъявить результат преподавателю.

ЗАДАНИЕ 7

Тема. Работа с файлами.

 

1. Изучить материалы приложения п. 7.

2. Проделать примеры, приведенные в данном разделе.

3. Создать программу для проведения опроса – голосования по оценке какого-то товара или мероприятия (файл lab7_1.php).

3.1. Создать форму голосования с вопросом «Как вы оцениваете наш магазин» и вариантами ответов в виде radio-button (см. рис. 7.1).

 

Рис. 7.1. Вид формы для проведения опроса.

 

· Программа должна обеспечивать следующее:

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

Рекомендации по составлению программы.

1. Создать файлы для хранения информации: 5.txt, 4.txt, 3.txt и 2.txt с первоначальным значением 0 в каждом файле. В дальнейшем в них будут записываться значения счетчиков ответов при голосовании.

2. Написать фрагмент программы, обеспечивающий вывод формы. Значения параметров поля формы указать цифрой (5, 4, 3, 2), совпадающей с именем файла. Например:
<input type="radio" name="vote" value="5" checked > отлично<br>

3. Составить программу обработки переданных данных (например, методом POST). Ниже приведен фрагмент программы для реализации обработки файлов (чтения и записи нового значения):

if (@$_POST['vote']) {

// если параметр vote передаётся методом post, значит нажата кнопка проголосовать

$file=$_POST['vote'].".txt";

// в переменной vote содержится число 2, 3, 4, или 5. Наши файлы имеют такие же названия, значит мы можем использовать эти значения для выбора файла

$f=@fopen($file,"r");

// открываем файл для чтения

$votes=fread($f,100);

// записываем в переменную $votes старое количество голосов

fclose($f);

// закрываем файл

$votes++;

// увеличиваем на единицу количество голосов

$f=@fopen($file,"w");

// открываем файл для записи

fwrite($f,$votes);

// записываем в файл новое количество голосов

fclose($f);

// закрываем файл

4. Дописать фрагмент программы для считывания информации из каждого файла и вывода результата (примерный вид см. рис. 7.2).

 

Рис. 6.2. Пример вывода результатов опроса.

5. Протестировать работу программы не менее десяти раз, просмотреть содержимое файлов 1.txt – 5.txt.

6. **Модифицировать программу так, чтобы результаты голосования выводились в виде диаграммы (см. рис. 7.3).

Рис. 6.3. Вывод результатов опроса в форме графика.

 

Рекомендации:

Для вывода диаграммы можно воспользоваться тэгом горизонтальной линии <hr> с параметрами. Например:

?>

<hr align="left" color="#FF0000" size="20"

<?

Значение параметра, отвечающего за ширину линии, здесь заданы фрагментом php-скрипта - упрощенная форма вывода переменной. Рекомендуется при чтении значений голосования из файлов сформировать из них массив -.$v1[$i].

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

==

** - Задача повышенной сложности.

7. Создать два вспомогательных файла. Первый должен обеспечивать создание текстовых файлов 2.txt, 3.txt,4.txt, 5.txt и запись в них числа 0. Второй - удаление этих файлов. Произвести несколько раз тестирование процесса голосования.

ЗАДАНИЕ 8

Тема. Работа с функциями даты и времени.

 

1. Изучить материалы приложения п. 8. Протестировать пример 8.1 с различными вариантами форматирования даты.

2. Подготовить текст программы для вывода текущей даты и времени в три строки: - в первой строке дата в кратком формате (например, 1. 04. 2005), во второй строке время, в третьей – день недели. Сохранить в файле lab8_1.php.

3. Написать специальную функцию, которая бы возвращала дату с написанием только дня недели на русском языке. Для проверки работоспособности функции вызвать ее для текущей даты. Сохранить программу в файле lab8_2.php.

4. Подготовить lab8_3.php, обеспечивающую следующее.

· На экран выводится текущая дата в числовом формате и форма с одной кнопкой, например:

· При нажатии кнопки на экран выводится сообщение " Сегодня день недели (по-русски) ".

· Вывод русского написания дня недели должен обеспечиваться сконструированной Вами функцией.

Рекомендации.

В функции определения дня недели можно использовать следующую конструкцию. Ввести вспомогательную переменную $weekday=date('D');

А затем произвести сравнение значения переменной $weekday со всеми английскими сокращенными названиями дней недели (Mon, Tue, Wed, Thu, Fri, Sat, Sun). При выполнении условия произвести переопределение вспомогательной текстовой переменной $weekday.

if ($weekday = = 'Mon') { $weekday="понедельник"};

и д.т.

5. Проверить работоспособность программы.

ЗАДАНИЕ 9

Тема. Знакомство с возможностями форматирования выводимых данных. Работа со строками.

 

1. Познакомиться с материалами приложения п. 9, изучить способы задания форматов в функции printf().

2. Проделать примеры, приведенные в данном разделе.

3. Создать программу (файл lab9_1.php), обеспечивающую вывод прайс-листа некоторого магазина. Все цены на товары должны выводиться в рублях, долларах и евро с 2-мя знаками после запятой.

Примерный вид выводимых данных:

Наши цены
мясо - 140.00 руб = 4.23 $ = 3.47 евро
рыба - 181.00 руб = 6.39 $ = 5.24 евро
масло - 134.00 руб = 4.73 $ = 3.88 евро

3.1. Рекомендации по созданию программы.

· Список товаров и их цен в рублях оформить в виде ассоциативного массива.

· Курсы валют задать внутри программы.

· Для прохождения по массиву использовать цикл foreach(), внутри которого выполнять пересчет цен и формировать строку вывода.

3.2. Проверить работу программы. Изменить курс валюты, дополнить массив товаров. Постараться выровнять столбцы с помощью формата с заполнением.

4. Изучить материалы приложения п.10. Познакомиться с основными функциями работы со строками. Проделать примеры 10.1 – 10.5.

5. Создать программу, обеспечивающую проверку заполнения поля адреса электронной почты (файл lab9_2.php),.

5.1. Программа должна обеспечить следующее.

· Вывод формы с полем для ввода электронного почтового адреса и кнопку "ПРОВЕРИТЬ!".

· После нажатия копки производится проверка - в переданной строке обязательно должен быть знак @, знак точка, и не должно быть пробелов.

· Каждый вид ошибки должен комментироваться. Например, "В адресе отсутствует символ @!". В случае правильного адрес – "Адрес правильный!"

5.2. Проверить работу программы со всеми видами ошибок.

6. Модифицировать программу так, чтобы в случае правильного ввода адреса e - mail, доменное имя почтового сервера выделялось в отдельную строку и выводилось на экран. Например, "Ваш почтовый сервер: mail. ru ".

7. Предъявить результаты преподавателю.

ЗАДАНИЕ 10

Тема. Знакомство с возможностями языка PHP для работы с базами данных сервера MySQL. Выполнение основных операций по подсоединению к базе данных, созданию и заполнению таблиц, просмотру и поиску информации в таблицах.

 

1. Познакомиться с материалами приложения п. 11, основными функциями работы с базами.

mysql_connect("имя хоста", "имя пользователя","пароль"),

mysql_select_db("имя базы данных"),

create table имя таблицы (описание полей таблицы)

2. При выполнении лабораторных работ на локальном сервере Denwer познакомиться с его внутренним интерфейсом, предназначенным для работы с базами данных.

2.1. Открыть в окне браузера тестовую страницу http://localhost, познакомиться с возможностями виртуального сервера и перейти по ссылке http://localhost /Tools /phpMyAdmin. Познакомиться с информацией на первой странице MySQL.

2.2. Создать свою базу данных, например, baza1, которую в следующих работах Вы будете только открывать.

Рис. 9.1.

Просмотреть результаты работы MySQL, проанализировать выполненный SQL-запрос, получить его PHP-код.

3. Выполнить тестирование примера 11.2 по подключению к базе данных в PHP. Здесь и далее имя хоста будет localhost, имя пользователя – root, параметр пароль нужно оставить пустым. Таким образом, строка
$p = mysql_connect("имя хоста", "имя пользователя","пароль") будет выглядеть так:

$p = mysql_connect("localhost", "root","");

А строка выбора таблицы:

mysql_select_db("baza1") or die("NO BASE");

4. Научиться создавать таблицы в базе данных средствами интерфейса Денвера.

4.1. Познакомится с описанием характеристик полей при создании таблицы в п.11 Приложения. Проанализировать описание полей при создании таблицы telephones (см. пример 11.3):
create table telephones(id INT AUTO_INCREMENT PRIMARY KEY,

surname VARCHAR(20),

email VARCHAR(20),

tel VARCHAR(20));

4.2. Создать таблицу telephones средствами интерфейса Денвера. При заполнении типов полей следовать инструкциям приведенного выше описания.

4.3. Заполнить таблицу двумя записями, научиться просматривать и редактировать записи. Удалить таблицу.

5. Создать таблицу с помощью программы PHP.

5.1. Выполнить программу примера 11.3.

5.2. Дополнить таблицу несколькими записями через интерфейс Денвера phpMyAdmin. Просмотреть таблицу telephones..

5.3. Пополнить таблицу программными средствами PHP (см. пример 11.4).

6. Создать собственную форму для заполнения таблицы. Проанализировать и выполнить примеры 11.5, 11.6. Наполнить таблицу данным, среди которых должны быть несколько записей с одинаковыми фамилиями.

7. Научиться выводить данные из таблиц программными средствами.

7.1. Познакомиться с материалами приложения и протестировать примеры 11.7 и 11.8.

8. Создать таблицу с товарами products (поля - идентификатор, название, цена, описание) и средства интерфейса для работы с товарами (заполнение и просмотр таблицы). Задачу решить с помощью трех файлов.

 

Первый – создает таблицу и вводит в неё данные о товарах (не менее пяти) с помощью инструкции:

mysql_query("insert into products(список полей) values(значения)").

 

Второй файл должен обеспечивать вывод содержания таблицы с товарами (каталог товаров).

 

Третий файл – форма для пополнения списка товаров.

ЗАДАНИЕ 11

Тема. Знакомство с возможностями языка PHP для работы со связанными таблицами базы данных. Научиться создавать запросы к нескольким связанным таблицам. (Одной из таблиц является таблица products из Задания 10).

 

1. Средствами интерфейса Денвера для работы с базами данных создать таблицу для хранения данных о странах - производителях товаров в Вашем Интернет магазине. Например, таблицу country, которая содержит поля

id _ c – идентификатор страны, и

name _ c – название страны.

Типы полей выбрать самостоятельно. Пример таблицы приведен на рис. 8.1.

 

Рис. 10.1. Вид структуры таблицы country в окне администрирования базами данных Денвера.

 

2.  Заполнить таблицу двумя – тремя записями. Например, так как показано на рис. 10.2.

Рис. 10.2. Вид содержимого таблицы country в окне администрирования.

 

3. В таблицу products добавить еще одно поле - идентификатор страны – производителя. Тип данных этого поля должен совпадать с типом поля id _ c таблицы country (см. рис. 10.3).

Рис. 10.3. Структура таблицы products после добавления поля country.



<== предыдущая лекция | следующая лекция ==>
Перевірки дотримання вимог законодавства у галузі ветеринарної медицини | 
Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 1054 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Самообман может довести до саморазрушения. © Неизвестно
==> читать все изречения...

2538 - | 2391 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.015 с.