2014-01 КНЯЗЕВА_Эл_бизнес / Лаб 2012_13 / PHP_Lab2Class
.docxЛабораторная работа 2. РНР. Объекты (классы)
-
Объявить объект (класс) и необходимые функции класса. Варианты заданий приведены в таблице 1, пример объявления класса – в приложении А.
-
Создать экземпляр класса. Проверить работоспособность класса.
-
Предусмотреть ввод данных для экземпляров класса в текстовых полях.
-
Сохранять экземпляры класса в файлах *.txt, *.html.
-
Выводить сохраненные данные на экран в исходном файле *.php.
Таблица 1 – Варианты заданий
Вариант |
Основное назначение класса |
|
Расчет стоимости различных ремонтных работ в жилом помещении (оклейка обоями, укладка керамической плитки на стены и/или потолок, выравнивание стен, выравнивание потолков и т.д.). Площадь окон и дверей вычитается из общей площади. Вид работы выбирается из выпадающего списка. |
|
Расчет стоимости простого кредита по формуле , где P - общая сумма выплат по кредиту (с процентами); S – сумма кредита; n – число дней; i – годовой процент. Срок кредита (6, 12, 18, 24, 30 месяцев), выбирается из выпадающего списка. Уточните формулу, с учетом того, что длительность кредита выбирается в месяцах. |
|
Расчет индекса массы тела по формуле , где m – вес, кг; h – рост, м. Предусмотреть вывод на экран сообщений: если BMI < 15 – «Острый дефицит веса»; если 15< BMI < 20 – «Дефицит веса»; если 20< BMI < 25 – «Нормальный вес»; если 25< BMI < 30 – «Избыточный вес»; если BMI > 30 – «Ожирение». |
|
Расчет площади геометрических фигур. Вид фигуры выбирается из выпадающего списка. |
|
Расчет объема геометрических тел. Вид тела выбирается из выпадающего списка. |
|
Расчет темпа инфляции по формуле , где инф – темп инфляции; стоимость продуктовой корзины текущего года; - стоимость продуктовой корзины прошлого года. Предусмотреть вывод на экран сообщений: если 1 <Тинф <3 – «Мягкая»; если 3 <Тинф <20 – «Умеренная»; если 20 <Тинф <200 – «Галопирующая»; если Тинф >200 – «Катастрофа!». |
|
Расчет мощности охлаждения кондиционера (в киловаттах) Q = Q1 + Q2 + Q3, где Q1 — теплопритоки от окна, стен, пола и потолка. Q1 = S * h * q / 1000, где S — площадь помещения (кв. м); h — высота помещения (м); q — коэффициент, равный 30 – 40 Вт/ м³: q = 30 — для затененного помещения; q = 35 — при средней освещенности; q = 40 — при сильной освещенности Теплопритоки от взрослого человека: Q2 — сумма теплопритоков от людей. 0,10 кВт — в спокойном состоянии; 0,13 кВт — при легком движении; 0,20 кВт — при физической нагрузке; Теплопритоки от бытовых приборов: Q3 — сумма теплопритоков от бытовых приборов 0,3 кВт — от компьютера 0,2 кВт — от телевизора. Все коэффициенты выбираются из выпадающих списков. |
|
Расчет суммы денежных средств, причитающихся к возврату вкладчику по окончании срока депозита по формуле , где
S — сумма денежных средств, причитающихся к возврату вкладчику по окончании срока депозита; I – годовая процентная ставка; t – количество дней начисления процентов по привлеченному вкладу; K – количество дней в календарном году (365 или 366); P – первоначальная сумма привлеченных в депозит денежных средств. |
|
Расчет количества материалов (краски, обоев, плитки) для ремонта жилого помещения с вычетом площади окон и дверей. Вид материала выбирается из выпадающего списка. |
|
Расчет стоимости туристической поездки по формуле , где P - общая стоимость тура; hotel – стоимость проживания в гостинице за 1 день food – коэффициент питания, f=1 (завтрак), f=2 (завтрак и ужин), f=3 (завтрак, обед, ужин), f=4 (все включено); day – количество дней; adult – количество взрослых; child – количество детей; avia – стоимость одного билета на самолет. |
Приложение А
Пример объявления класса (по материалам сайта http://php.su)
<form>
Страна<input type= text name="c">
Город<input type= text name="t">
<input type= submit value=OK>
</form>
<?php
// Создаем новый класс Coor
class Coor {
// данные (свойства):
var $country, $city;
//Конструктор класса
function Coor($d) {
list($this->country, $this->city )=$d;
}
//Для вывода на экран
function P()
{return $this->country.' '.$this->city ;
}
}
//Глобальные переменные
$c=$_GET['c'];$t=$_GET['t'];
//Создаем экземпляр класса Coor
$object1 = new Coor(Array($c, $t)); //echo $object1->P();
//Запись экземпляра класса в файл
if (($c!=null) &&($t!=null)) {
$w=fopen('coor.html', 'a+');
fwrite($w,'<br>'.$object1->P());
fclose($w);
}
else {echo "Заполните поля!";}
//Извлечение данных из файла
$handle = fopen("coor.html", "r");
while (!feof($handle)) {
$buffer = fgets($handle);
echo $buffer;
}
fclose($handle);
//соединение с сервером и выбор БД
$Ln=mysql_connect('localhost', 'root','');
mysql_select_db('MySite');
//Создание таблицы для хранения данных
$Crt="CREATE TABLE IF NOT EXISTS coor (Country VARCHAR( 50 ) NOT NULL , City VARCHAR( 50 ) NOT NULL)" ;
mysql_query($Crt);
//Вставка строки
$Ins="Insert into coor values($c,$t)";
mysql_query($Ins);
echo "<br>Извлечено из БД";
$St="Select * from coor";
$res=mysql_query($St);
while($scr=mysql_fetch_array($res))
{echo "<br>".$scr[0]." ".$scr[1];} ?>