Синтаксис языка PHP

Ознакомление с языком программирование PHP. Операторы управления и передачи данных, конструкции разветвления и повторения. Создание функции в PHP. Работа с числами, строками и датой/временем в PHP. Работа с массивами данных. Работа с файловой системой.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 09.09.2011
Размер файла 1,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

ВВЕДЕНИЕ

Задача данной работы состоит в освоении синтаксиса языка PHP. В процессе освоение языка должен быть создан сайт Интернет-магазин недвижимости «Двигаем недвижимое».

В основном данная работа состоит из двух разделов: ТЕРМИНОЛОГИЯ и ЗАДАНИЕ. В разделе ТЕРМИНОЛОГИЯ приведены 22 терминов, которых каждый Web-программист должен знать. В следующем разделе ЗАДАНИЕ приведены решение задач и их результаты в качестве рисунков. В современном информационном обществе каждая стабильная компания должна иметь собственный представительский сайт в сети Интернет, который обеспечит информационную поддержку существующего бизнеса. С помощью web-сайта фирмы решают такие задачи, как представление компании в сети Интернет, расширение потенциальной аудитории потребителей, поддержка бренда, повышение узнаваемости, информирование общественности и др. Разработка сайтов для компаний является актуальной и востребованной сферой деятельности, т.к. сайт фирмы в сети Интернет представляет собой достаточно дешевый и массовый способ рекламы, дает возможность потенциальным и существующим клиентам легко получать информацию о товарах и услугах компании, ее деловых интересах, что может помочь найти новых заказчиков и партнеров по бизнесу, а следовательно, способствует увеличению объема продаж и рентабельности предприятия. Объектом исследования данной семестровой работы является процесс электронной торговли. Магазин занимается продажей недвижимости. На данный момент он является наиболее «молодым» образцом организации интернет-магазина, поэтому наибольшее внимание уделяет созданию простого удобного пользовательского интерфейса интернет-магазина.

ТЕРМИНОЛОГИЯ

1. PHP -- скриптовый язык программирования общего назначения, интенсивно применяемый для разработки веб - приложений. В настоящее время поддерживается подавляющим большинством хостинг - провайдеров и является одним из лидеров среди языков программирования, применяющихся для создания динамических веб - сайтов.

2. Apache -(сокращение от англ. a patchy server) -- свободный веб-сервер.

3. ZEND - это свободный каркас на PHP для разработки веб-приложений и веб-сервисов.

4. CGI - ( Common Gateway Interface -- «общий интерфейс шлюза») -- стандарт интерфейса, используемого для связи внешней программы с веб-сервером.

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

6. Клиент - аппаратный или программный компонент вычислительной системы, посылающий запросы серверу

7. HTML - ( HyperText Markup Language -- «язык разметки гипертекста») -- стандартный язык разметки документов во Всемирной паутине.

8. SGML - ( Standard Generalized Markup Language) -- стандартный обобщённый язык разметки, на котором можно определять язык разметки для документов.

9. XML - (eXtensible Markup Language -- расширяемый язык разметки) -- рекомендованный Консорциумом Всемирной паутины язык разметки, фактически представляющий собой свод общих синтаксических правил. XML -- текстовый формат, предназначенный для хранения структурированных данных (взамен существующих файлов баз данных), для обмена информацией между программами, а также для создания на его основе более специализированных языков разметки (например, XHTML). XML является упрощённым подмножеством языка SGML.

10. URL - (Uniform Resource Locator) -- единообразный локатор (определитель местонахождения) ресурса.

11. WWW - это аббревиатура, которая расшифровывается как World Wide Web. В переводе с английского означает «всемирная паутина». WWW, или Web - это служба Интернет, которая содержит миллионы страниц информации.

12. HTTP - (HyperText Transfer Protocol -- «протокол передачи гипертекста») -- протокол прикладного уровня передачи данных (изначально -- в виде гипертекстовых документов).

13. FTP - (File Transfer Protocol -- протокол передачи файлов) -- протокол, предназначенный для передачи файлов в компьютерных сетях. FTP позволяет подключаться к серверам FTP, просматривать содержимое каталогов и загружать файлы с сервера или на сервер.

14. SMTP - (Simple Mail Transfer Protocol -- простой протокол передачи почты) -- это сетевой протокол, предназначенный для передачи электронной почты в сетях TCP/IP.

15. TCP/IP - (Transmission Control Protocol/Internet Protocol) -- набор сетевых протоколов разных уровней модели сетевого взаимодействия DOD, используемых в сетях. Протоколы работают друг с другом в стеке (стопка) -- это означает, что протокол, располагающийся на уровне выше, работает «поверх» нижнего, используя механизмы инкапсуляции. Например, протокол TCP работает поверх протокола IP.

16. Массив - (в некоторых языках программирования также таблица, ряд) -- именованный набор однотипных переменных, расположенных в памяти непосредственно друг за другом, доступ к которым осуществляется по индексу (в отличие от списка).

17. Строка - представляют собой набор символов. В PHP символ это то же самое, что и байт, это значит, что возможно ровно 256 различных символов.

18. Файл - представляет собой последовательность байтов, хранящуюся на каком-либо физическом носителе информации и под каким-либо названием.

19. Функция -- это поименованная часть программы, которая может вызываться из других частей программы столько раз, сколько необходимо. Функция, в отличие от процедуры, обязательно возвращает значение.

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

21. Web-сайт совокупность электронных документов (файлов) частного лица или организации в компьютерной сети, объединённая под одним адресом (доменным именем или IP-адресом). По умолчанию подразумевается, что сайт располагается в сети Интернет.

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

ЗАДАНИЕ 1

Тема: «Основы синтаксиса»

Постановка задач:

· Ознакомление с языком программирование PHP;

· Основы синтаксиса;

· Знакомство и применение операторов в PHP.

Цель работы: «Осваивание синтаксиса языка PHP решением задач»

Задачи:

1.1. Даны действительные числа х и у. Получить: (|x|-|y|)/(1+|xy|).

Листинг1. Решения задачи №1

<?php

$x=5;

$y=4;

$z=(abs($x)-abs($y))/(1+abs($x*$y));

echo $z;

?>

Рис. 1. Результат задачи 1.1

1.2. Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

Листинг 2. Решения задачи 1.2

<?php

$a=2;

$b=7;

$sr_a=($a+$b)/2;

$sr_g=pow($a*$b,1/2);

echo "средний арифметический: ".$sr_a." "."средний геометрический: ".$sr_g;

?>

Рис. 2. Результат задачи 1.2

1.3. Даны катеты прямоугольного треугольника. Найти его гипотенузу.

Листинг 3. Решения задачи 1.3

<?php

$a=4;

$b=5;

$c=sqrt($a*$a+$b*$b);

echo "гипотенуза=".$c;

?>

Рис. 3. Результат задачи 1.3

1.4. Известна длина окружности. Найти площадь круга, ограниченного этой окружностью.

Листинг 4. Решения задачи 1.4

<?php

$l = 15;

$r = $l/6.28;

$s = $r*$r*3.14;

echo "площадь круга равна $s если длина окружности круга $l";

?>

Рис. 4. Результат задачи 1.4

1.5. Даны действительные числа с, d. Вычислить

где x1 - больший, а х2 - меньший корни уравнения х2 - 3x - |cd| = 0.

Листинг 5. Решение задачи 1.5

<?php

$c=0;$d=3;

$D=9-4*abs($c*$d);

$x1=(3+sqrt($D))/2;

$x2=(3-sqrt($D))/2;

$a = $c*$x1*$x1*$x1+$d*$x2*$x2;

$chis = pow(sin(abs($a-$c*$d)),3);

$znam = sqrt(pow(($a-$x1),2)+3.14);

$mda = tan($a-$x1);

$res = abs($chis/$znam)+$mda;

echo "<p>При c и d, равных $c и $d, результат сего трудоемкого вычисления составит $res</p>";

$c=0;$d=3;

$D=9-4*abs($c*$d);

$x1=(3+sqrt($D))/2;

$x2=(3-sqrt($D))/2;

$a = $c*$x1*$x1*$x1+$d*$x2*$x2;

$chis = pow(sin(abs($a-$c*$d)),3);

$znam = sqrt(pow(($a-$x1),2)+3.14);

$mda = tan($a-$x1);

$res = abs($chis/$znam)+$mda;

echo "<hr>результат $res";

?>

Рис. 5. Результат задачи 1.5

1.6. Дано действительное число х. Не пользуясь никакими другими арифметическими операциями, кроме умножения, сложения и вычитания, вычислить: 2x4--3x3+4x2--5x+6. Разрешается использовать не более четырех умножений и четырех сложений и вычитании.

Листинг 6. Решение задачи 1.6

<?php

$x=2;

$rez=$x*($x*($x*(2*$x+3)+4)-5)+6;

echo "при x=$x результат ревен $rez";

?>

Рис. 6. Результат задачи 1.6

1.7. Дан размер файла в байтах. Используя операцию деления нацело, найти количество полных килобайтов, которые занимает данный файл (1 килобайт = 1024 байта).

Листинг 7. Решение задачи 1.7

<?php

$fbyte=3050;

$kbyte=(int)($fbyte/1024);

echo "файл $fbyte байт = $kbyte килобайт”;

?>

Рис. 7. Результат задачи 1.7

1.8. Даны x, y и z. Вычислить:

(1+z)

Листинг 8. Решение задачи 1.8

<?php

$x=1;

$y=3;

$z=2;

$a=(1+$z);

$b=($x+$y)/(tan(pow($x,2))+4);

$c=(exp(-$x-2)+1)/(pow($x,2)+4);

$rez=$a*$b/$c;

echo "при x=$x, y=$y и z=$z <br> результат равен $rez";

?>

Рис. 8. Результат работы 1.8

ЗАДАНИЕ 2

Тема: «Управляющие конструкции»

Постановка задачи:

· Ознакомиться с конструкциями разветвления и повторения (циклы);

· Ознакомится с операторами управления и передачами данных.

Цель работы: «Решение задач»

Задачи:

2.1. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

Листинг 9. Решение задачи 2.1

<form action="zadacha1.php" method="post">

a:<input type="text" name="a"><br>

b:<input type="text" name="b"><br>

<input name="submit" type="submit" value="ok">

</form>

……………………………………………………………………………………………………

<?php

$a=$_POST["a"];

$b=$_POST["b"];

echo "a=$a; b=$b <hr>";

if ($a>$b){

echo "первое число больше второго: ".$a;}

else{

echo "первое число не больше второго ".$a." ".$b;}

?>

Рис. 9. Результат html-кода в Листинге 9

Рис. 10. Результат задачи 2.1

2.2. Даны действительные числа х, у, z. Вычислить: mах(х+у+z, хуz) и min(x+y+z/2, хуz)+1.

Листинг 10. Решение задачи 2.2

<form action="zadacha2.php" method="post">

x:<input type="text" name="x"><br>

y:<input type="text" name="y"><br>

z:<input type="text" name="z"><br>

<input name="submit" type="submit" value="ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$x=$_POST["x"];

$y=$_POST["y"];

$z=$_POST["z"];

echo "x=$x; y=$y; z=$z <hr>";

$a=$x+$y+$z;

$b=$x*$y*$z;

if ($a>$b){

$max=$a;

echo "Максиму: x+y+z=".$a; }

else{

$max=$b;

echo "Максимум: xyz=".$b;}

$c=$x+$y+($z/2);

$d=$x*$y*$z;

if ($c<$d){

$min=$c;

echo "<br>";

echo "Минимум: x+y+z/2=".$c;}

else{

echo "Минимум: xyz=".$d; }

?>

Рис. 11. Результат html-кода в Листинге 10

Рис. 12. Результат задачи 2.2

2.3 Дано квадратное уравнение вида ax2+bx+c=0. Найти корни этого уравнения.

Листинг 11. Решение задачи 2.3

<form action="zadacha3.php" method="post">

a:<input type="text" name="a"><br>

b:<input type="text" name="b"><br>

c:<input type="text" name="c"><br><br>

<input type="submit" value="Ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

$a=$_POST["a"];

$b=$_POST["b"];

$c=$_POST["c"];

echo "a=".$a." b=".$b." c=".$c."<br>";

$d=$b*$b-4*$a*$c;

if ($d>0){

$x1=(-$b-sqrt($d))/(2*$a);

$x2=(-$b+sqrt($d))/(2*$a);

echo "x1=".$x1."<br>"."x2=".$x2;}

else if ($d==0){

$x=-$b/(2*$a);

echo "x=".$x." при d=0!";}

else{

echo "Квадратное уравнение не имеет решение!!!";}

?>

Рис. 13. Результат html-кода в Листинге 11

Рис. 14. Результат задачи 2.3

2.4. Для данного вещественного x найти значение следующей функции f, при-нимающей вещественные значения:

Листинг 12. Решение задачи 2.4

<form action="zadacha4.php" method="post">

x<input type="text" name="x"><br>

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………

<?php

$x=$_POST["x"];

if($x<=2){

echo "если x<=2: ".-($x);}

else if ($x>0 && $x<2){

echo "если 0<x<2: ".$x*$x;}

else if ($x>=2){

echo "если x>=2: "."4";}

?>

Рис. 15. Результат html-кода Листинга 12

Рис. 16. Результат задачи 2.4

2.5. Единицы массы пронумерованы следующим образом: 1 -- килограмм, 2 -- миллиграмм, 3 -- грамм, 4 -- тонна, 5 -- центнер. Дан номер единицы массы (целое число в диапазоне 1-5) и масса тела в этих единицах (вещественное число). Найти массу тела в килограммах.

Листинг 13. Решение задачи 2.5

<form action="zadacha5.php" method="post">

m:<input type="text" name="m"><br>

e:<input type="text" name="e"><br />

<input type="submit" value="ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

$m=$_POST["m"];

$e=$_POST["e"];

echo "m=$m "."e=$e". "<br>";

switch ($e):

case 1:

$res="Масса равна $m kg";

break;

case 2:

$m=$m/1000000;

$res="Масса равна $m kg";

break;

case 3:

$m=$m/1000;

$res="Масса равна $m kg";

break;

case 4:

$m=$m*1000;

$res="Масса равна $m kg";

break;

case 5:

$m=$m*100;

$res="Масса равна $m kg";

break;

endswitch;

echo $res;

?>

Рис. 17. Результат html-кода в Листинге 13

Рис. 18. Результат задачи 2.5

2.6. Даны натуральное число n и действительное число x. Вычислить:

Листинг 14. Решение задачи 2.6

<form action="zadacha6.php" method="post">

n:<input type="text" name="n"><br>

x:<input type="text" name="x"><br />

<input type="submit" value="ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

$n=$_POST["n"];

$x=$_POST["x"];

echo "n=$n x=$x"."<br>";

for ($k=1; $k<$n; $k++){

$s=$s+pow(-1,$k+1)/($k*($x+1));}

echo "Сумма=$s";

?>

Рис. 19. Результат html-кода в Листинге 14

Рис. 20. Результат задачи 2.6

7. Дано вещественное число A и целое число N (> 0). Используя один цикл, найти сумму:

Листинг 15. Решение задачи 2.7

<form action="zadacha7.php" method="post">

a:<input type="text" name="a"><br />

n:<input type="text" name="n"><br />

<input type="submit" value="ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$a=$_POST['a'];

$n=$_POST['n'];

echo "a=$a n=$n"."<br>";

$s=1;

for ($k=1; $k<$n; $k++){

$s=$s+pow($a,$k);}

echo "сумма= $s";

?>

Рис. 21. Результат html-кола в Листинге 15

Рис. 22. Результат задачи 2.7

ЗАДАНИЕ 3

Тема: «Обработка запросов с помощью PHP»

Постановка задач:

· Узнать, что такое HTTP;

· Знакомство со способами передачи данных на сервер;

· Узнать, каким образом с помощью HTML-формы передаются данные на сервер.

Цель работы: «Решение задачи»

Задачи:

3.1. С использованием HTML-тегов создать Web-форму для ввода данных о новом товаре Интернет - магазина «Недвижимости».

Листинг 16. Решение задачи 3.1

<h1 align="center">Интернет магазин недвижимости<p>Ввод нового товара </p></h1>

<table width="200" border="0" align="center">

<tr>

<td><form action="zadacha1.php" method="post" enctype="multipart/form-data" >

Тип:<br>

<select name="type">

<option value="Квартира">Квартира</option>

<option value="Коттедж ">Коттедж </option>

<option value="Участок">Участок</option>

<option value="Пентхаус">Пентхаус</option>

</select><br><br>

Квадратный метр:<br>

<input type="text" name="kv" size="50"><br>

Облать(регион):<br>

<input type="text" name="reg" size="50"><br>

Город:<br>

<input type="text" name="city" size="50"><br>

Улица:<br>

<input type="text" name="street" size="50"><br>

Цена:<br>

<input type="text" size="50" name="cena"><br>

Изображения:<br>

<input type="file" name="f"><br><br>

<pre><center><input type="submit" value="ok"> <input type="submit" value="Отмена"></center></pre>

</form></td> </tr>

</table>

Рис. 23. Результат задачи 3.1.

3.2. С использованием HTML-тегов создать Web-форму для регистрации новых пользователей Интернет - магазина «Недвижимости».

Листинг 17. Решение задачи 3.2

<h1 align="center"><p>Регистрация пользователей </p>

</h1>

<center><p>* Обязательные поля</p></center>

<table width="306" border="0" align="center" bgcolor="#00FFFF">

<tr>

<td height="353"><form action="zadacha2.php" method="post" enctype="multipart/form-data" >

Фамилия *<br>

<input type="text" name="fam" size="50"><br>

Имя *<br>

<input type="text" name="imya" size="50"><br> <hr>

E-mail*<br>

<input type="text" name="mail" size="50"><br>

Логин *<br>

<input type="text" name="login" size="50"><br>

Пароль *<br>

<input type="text" name="pass" size="50"><br><hr>

Страна *<br>

<select name="strana">

<option value="Гондурас">Гондурас</option>

<option value="США">США</option>

<option value="Таджикистан">Таджикистан</option>

<option value="Россия">Россия</option>

</select><br>

Адрес *<br>

<textarea name="adres"></textarea><br><br>

<pre><center><input type="submit" value="ok"> <input type="submit" value="Отмена"></center></pre>

</form></td>

</tr>

</table>

Рис. 24. Результат задачи 3.2

3.4. Напишите фрагмент HTML-кода так, чтобы результат был следующим:

Листинг 18. Решение задачи 3.4

<body bgcolor="#CCCCCC">

<table width="200" border="0" align="center">

<tr>

<td bgcolor="#0099CC"><center>

<span class="style1">ОБРАТНАЯ СВЯЗЬ</span>

</center> </td> </tr>

<tr>

<td><form action="zadacha4.php" method="post">

Ваше имя:<br />

<input type="text" name="imya" size="45"><br />

Обратный e-mail:<br />

<input type="text" name="email" size="45"><br />

Сообщение:<br />

<input type="text" name="mess" size="45" height="60"><br />

Число на картинке: <br />

<input type="text" name="pic" size="20" height="15">

<img src="pic.gif" width="117" height="17" /><br /><br />

<center><input type="submit" value="Отправить"></center>

</form></td>

</tr>

</table>

Рис. 25. Решение задачи 3.4

3.5 Напишите фрагмент HTML-кода так, чтобы результат был следующим:

Листинг 19. Решение задачи 3.5

<table border=0 align="center">

<tr>

<td>

<form method = 'post' action = 'zadacha5.php'>

ФИО <input type = 'text' name ='fio'><br><br>

Пол <input type ='radio' name = 'pol' value ='М'> М

<input type ='radio' name = 'pol' value ='Ж'>Ж<br><br>

Возраст <select name='age'>

<option value =' '> </option>

<option value ='1'>1</option>

</select><br><br>

Ваши комментарии:<br>

<textarea name ='comments'></textarea><br><br>

<center> <input type ='submit' value ='Отправить'>

<input type ='reset' value='Очистить'></center>

</form>

</td>

</tr>

</table>

Рис. 26. Результат задачи 3.5

3.6 Напишите фрагмент HTML-кода так, чтобы результат был следующим:

Листинг 20. Решение задачи 3.6

<table border=1 align=center>

<tr><td>

<center> <h1>USER REGISTRATION</h1> <h6>* Required Fields</h6>

</center>

</td></tr>

<tr> <td>

<form method = 'post' action = 'zadacha6.php'>

First Name* <br>

<input type = 'text' name ='fname'><br>

</td> <td>

Last Name* <br>

<input type = 'text' name ='lname'>

</td> </tr>

<tr><td>

E-mail* <br>

<input type = 'text' name ='email'><br><br>

</td>

<td>

Zip Code* <br>

<input type = 'text' name ='code'>

</td> </tr>

<tr> <td>

User Name <br>

<input type = 'text' name ='UserName'>

</td> </tr>

<tr> <td>

Password* <br>

<input type = 'text' name ='pass'><br>

</td>

<td>

Confirm Password* <br>

<input type = 'text' name ='conpass'>

</td></tr>

<tr><td>

What music are you interested in?<br>

<input type ='checkbox' value ='Rock' name ='music'>Rock

<input type ='checkbox' value ='pop' name ='music'>POP

<input type ='checkbox' value ='BlueGrass' name ='music'>BlueGrass<br>

<input type ='checkbox' value ='Blues' name ='music'>Blues

<input type ='checkbox' value ='Jazz' name ='music'>Jazz

<input type ='checkbox' value ='Country' name ='music'>Country<br>

</td> </tr>

<tr><td>

Would You like to recieve e-mail notifications on our special sales?<br><br>

<input type ='radio' name = 'yesno' value ='Yes'> Yes

<input type ='radio' name = 'yesno' value ='No'>No<br>

</td></tr>

<tr><td>

<center><input type ='submit' value ='Submit'><input type ='reset' value='Reset'></center>

</form></td></tr>

</table>

Рис. 27. Результат задачи 3.6

ЗАДАНИЕ 4

Тема: «Функция»

Постановка задач:

· Создание функции в PHP.

Цель работы: «Решение задач»

Задачи:

4.1. Описать функцию DegToRad(D) вещественного типа, находящую величину угла в радианах, если дана его величина D в градусах (D -- вещественное число, 0 < D < 360). Воспользоваться следующим соотношением: 180° = р радианов. В качестве значения р использовать atn(1)*4.

Листинг 21. Решение задачи 4.1

<form method="post" action="task1.php">

<p>Угол в градусах</p><br>

<input type="text" name="u"><br>

<input type="submit" value="Хорошо">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$u=$_POST['u'];

function DegToRad($ugol){

$res=$ugol*((atan(1)*4)/180);

return $res;}

if ($u<=0 || $u>=360)$res="такого угла не существует...";

else $res="$u градусов в радианах составит ".DegToRad($u);

echo $res;

?>

Рис. 28. Результат html-кода в Листинге 21

Рис. 29. Результат задачи 4.1

4.2. Описать функцию Arcsin(X) вещественного типа, находящую арксинус в градусах.

Листинг 22. Решение задач 4.2

<form method="post" action="task2.php">

<p>Значение синуса:</p><br>

<input type="text" name="s"><br>

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$u=$_POST['s'];

function RadToDeg($ugol){

$op=$ugol/((atan(1)*4)/180);

return $op;}

function arcsin($sin){

$op=asin($sin);

return RadToDeg($op);}

echo $res="Арксинус заданного значения составляет ".arcsin($u)." градусов.";

?>

Рис. 30. Результат html-кода Листинга 22

Рис. 31. Результат задачи 4.2

4.3. Описать функцию max(a, b) нахождения наибольшего значения между A и B.

Листинг 23. Решение задачи 4.3

<form method="post" action="task3.php">

Первое число:<br>

<input type="text" name="a"><br>

Второе число:<br>

<input type="text" name="b"><br>

<input type="submit" value="Ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

function maximum($a,$b){

if ($a>$b) $max=$a;

elseif ($b>$a) $max=$b;

else $max="Вводимые числа равны!!!";

return $max;}

$a=$_POST['a'];

$b=$_POST['b'];

$res=maximum($a,$b);

echo "a=$a; b=$b;<hr>"."max=$res";

?>

Рис. 32. Результат html-кода в Листинге 23

Рис. 33. Результат задачи 4.3

4.4. Описать функцию Leng(xA, yA, xB, yB) вещественного типа, находящую длину отрезка AB на плоскости по координатам его концов.

Листинг 24. Решение задачи 4.4

<form method="post" action="task4.php">

x1<br>

<input type="text" name="x1"><br>

x2<br>

<input type="text" name="x2"><br>

y1<br>

<input type="text" name="y1"><br>

y2<br>

<input type="text" name="y2"><br>

<input type="submit" value="Ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

function dlina($x1,$y1,$x2,$y2){

$a=pow(($x1-$x2),2);

$b=pow(($y1-$y2),2);

$c=sqrt($a+$b);

return $c;}

$x1=$_POST['x1'];

$x2=$_POST['x2'];

$y1=$_POST['y1'];

$y2=$_POST['y2'];

echo "x1=$x1; x2=$x2; y1=$y1; y2=$y2.<hr>";

$res="Длина заданного отрезка составляет ".dlina($x1,$y1,$x2,$y2);

echo $res;

?>

Рис. 34. Результат html-кода в листинге 24

Рис. 35. Результат задачи 4.4

4.5. Описать функцию fact(n), находящую факториал заданного числа n.

Листинг 25. Решение задачи 4.5

<form method="post" action="task5.php">

Вводиде число:<br>

<input type="text" name="n"><br>

<input type="submit" value="Ok">

</form>

…………………………………………………………………………………………………………………………………………………………………….

<?php

$n=$_POST['n'];

function fact($n){

$s=1;

for ($i=1;$i<=$n;$i++) {

$s=$s*$i; }

return $s;}

$res="Факториал числа $n равен ".fact($n);

echo $res;

?>

Рис. 36. Результат html-кода в листинге 25

Рис. 37. Результат задачи 4.5

4.6. Описать функцию, определяющую для заданных коэффициентов квадратного уравнения имеет ли оно решение.

Листинг 26. Решение задачи 4.6

<form method="post" action="task6.php">

a:<input type="text" name="a"><br>

b:<input type="text" name="b"><br>

c:<input type="text" name="c"><br>

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

function kv_ur($a,$b,$c){

$d=$b*$b-4*$a*$c;

if ($d<0) $res="Корней нет";

elseif ($d==0) $res="Корень один";

else $res="Корня два";

return $res;}

$a=$_POST['a'];

$b=$_POST['b'];

$c=$_POST['c'];

$res=kv_ur($a,$b,$c);

echo "a=$a; b=$b; c=$c.<hr>$res";

?>

Рис. 38. Результат html-кода в Листинге 26

Рис. 39. Результат задачи 4.6

4.7 Описать функцию stepen(a,n) для возведения числа a в n-ую степень.

Листинг 27. Решение задачи 4.7

<form method="post" action="task7.php">

Число:<br>

<input type="text" name="a"><br>

Степень:<br>

<input type="text" name="n"><br>

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

function stepen($a,$n){

$s=1;

for ($i=1;$i<=$n;$i++){

$s=$s*$a; }

return $s;}

$a=$_POST['a'];

$n=$_POST['n'];

$res = "$a в степени $n равно ".stepen($a,$n);

echo $res;

?>

Рис. 40. Результат html-кода в Листинге 27

Рис. 41. Результат задачи 4.7

4.8. Описать функцию для вычисления факториала заданного числа и с ее помощью вычислить для заданных чисел m и n:

Листинг 28. Решение задачи 4.8

<form method="post" action="task8.php">

Число m<br>

<input type="text" name="m"><br>

Число n<br>

<input type="text" name="n"><br>

<input type="submit" value="OK">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

function fact($n)

{

$s=1;

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

{

$s=$s*$i;

}

return $s;

}

$m=$_POST['m'];

$n=$_POST['n'];

$del=fact($m)+fact($n);

$znam=fact($n+$m);

$s=$del/$znam;

$res=$m."! = ".fact($m)."<br>";

$res=$res.$n."! = ".fact($n)."<br>";

$res=$res.($m+$n)."! = ".fact($m+$n)."<br>";

$res=$res."res $s";

echo "m=$m; n=$n.<hr> $res";

?>

Рис. 42. Результат html-кода в Листинге 28

Рис. 43. Результат задачи 4.8

ЗАДАНИЕ 5

Тема: «Работа с числами, строками и датой/временем в PHP»

Постановка задач:

· Работа с числами

· Работа со строками

· Работа с датой и временем

Цель работы: «Решение задач»

Задачи:

5.1. Дана строка. Определить ее длину.

Листинг 29. Решение задачи 5.1

<form action="zadacha1.php" method="post">

вводите строку:<input type="text" name="str"><br /><br />

<input type="submit" value="Ok">

</form>

………………………………………………………………………………………………………………………………………………………………………

<?php

$str=$_POST['str'];

echo "количество символов ".strlen($str);

?>

Рис. 44. Результат html-кода в Листинге 29

Рис. 45. Результат задачи 5.1

5.2. Определить количество пробелов в заданном тексте.

Листинг 30. Решение задачи 5.2

<form action="zadacha2.php" method="post">

Vvodite slovo:<br />

<input type="text" name="slovo"><br /><br />

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

echo "в тексте".substr_count($_POST['slovo']," ")."пробелов";

?>

Рис. 46. Результат html-кода в Листинге 30

Рис. 47. Результат задачи 5.2

5.3. Задан текст, который состоит из символов S1,…,Sn. Заменить в последовательности S1, .... Sn, каждую группу букв ХФТУТ группой букв ПИТУТ.

Листинг 31. Решение задачи 5.3

<?php

$str=<<<metka

Одним из лучших высших учебных заведений города Худжанда является ХФТУТ. ХФТУТ готовит, точнее, до недавнего времени готовил, программистов, экономистов и специалистов в области Агропрома. Сейчас список предлагаемых специальностей расширен, за счет слияния ХФТУТ с Политехническим институтом…

metka;

$res=str_replace("ХФТУТ","ПИТУТ",$str);

echo $res;

?>

Рис. 48. Результат задачи 5.3

5.4. Вычислить число дней между сегодняшним днем и вашей датой рождения в следующем году.

Листинг 32. Решение задачи 5.4

<?php

$dm=abs((int)((time()-mktime(0,0,0,10,20,1993))/86400));

echo "До моего дня рождения осталось ровно ".$dm." дней";

?>

Рис. 49. Результат задачи 5.4

5.5. Задан текст на таджикском языке. Преобразовать все буквы «а» в верхний регистр, все буквы «М» в нижний регистр. Определить количество преобразованных символов заданного текста.

Листинг 33. Решение задачи 5.5

<?php

$str=<<<metka

Меня зовут Маджитов Бахадур... т.е. Ман Мачитов Баходур....

metka;

$str=str_replace("а","А",$str);

$str=str_replace("М","м",$str);

$col=substr_count($str,"А")+substr_count($str,"м");

$res="Результирующий текст:<br>".$str."<br><br>Количество сделанных замен: $col";

echo $res;

?>

Рис. 50. Результат задачи 5.5

5.6. Определить количество слов в заданном тексте. Например, в тексте «Без галстука и сумки в университет приходить нельзя» 8 слов.

Листинг 34. Решение задачи 5.6

<form action="zadacha6.php" method="post">

Вводите текст:<br />

<input type="text" name="slovo"><br /><br />

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$s=$_POST['slovo'];

$s=$s.' ';

$t=0;

for($i=1;$i<=strlen($s);$i++){

if (($s{$i}==' ') && ($s{$i-1}!=' ')) $t++;}

echo "В вашем предложении $t слов";

?>

Рис. 51. Результат html-кода в Листинге 34

Рис. 52. Результат задачи 5.6

5.7. Задан текст, который состоит из символов S1,…,Sn. Получить первое натуральное i, для которого каждый из символов S(i) и S(i+1) совпадает с буквой а. Если такой пары символов в последовательности S1,…,Sn нет, то ответом должно быть число 0.

Листинг 35. Решение задачи 5.7

<form action="zadacha7.php" method="post">

Вводите текст:<br />

<input type="text" name="slovo"><br /><br />

<input type="submit" value="Ok">

</form>

……………………………………………………………………………………………………………………………………………………………………

<?php

$s=$_POST['slovo'];

$a=strpos($s,"aa");

if ($a===false) echo 0;

else echo "результат ".$a+1;

?>

Рис. 53. Результат html-кода в Листинге 35

Рис. 54. Результат задачи 5.7

5.8. Используя функции для работы с датой и временем, решить:

а) Вывести в отдельные строчки: текущую дату, текущее время, день недели;

б) Определить, сколько девочке дней, недель, месяцев, лет, если она родилась 20.10.1993.

Листинг 36. Решение задачи 5.8

<?php

echo date("d.m.Y")."<br>";

echo date("H:i:s")."<br>";

echo date("l")."<hr>";

$dm=abs((int)((time()-mktime(0,0,0,10,20,1993))/86400));

echo "$dm дней <br>";

echo round($dm/7)." недель<br>";

echo round($dm/30)." месяцев<br>";

echo round($dm/365)." лет<br>";

?>

Рис. 55. Результат задачи 5.8

ЗАДАНИЕ 6

Тема: «Работа с массивами данных»

Постановка задач:

· Объявление массивов;

· Обход массива в цикле;

· Сортировка массивов.

Цель работы: «Решение задач»

Задачи:

6.1. Выполнить следующие действия:

1) Создать одномерный массив А из 10 целых чисел (числа вводятся случайным образом);

2) Вывести на экран массив в виде строки чисел;

3) Подсчитать сумму элементов массива;

4) Вывести сумму на экран.

Листинг 37. Решение задачи 6.1

<?php

for ($i=0; $i<10; $i++){

$a[]=$_POST[$i+1];// значение получает с веб-формы

echo $a[$i]." ";

$s+=$a[$i];}

echo "<br> Сумма элементов массива=$s";

?>

Рис. 56. Заполнение элементов массива

Рис. 57. Результат задачи 6.1

6.2. Даны натуральное число n, действительные числа а1, … , аn. Получить max(а1, … , аn).

Листинг 38. Решение задачи 6.2

<?php

$max=9;

for ($i=0; $i<$max;$i++){

$a[]=rand(-40,40);

echo $a[$i].'<br>';}

echo '<hr>'.max($a);

?>

Рис. 58. Результат задачи 6.2

6.3. Даны натуральное число n, действительные числа a1, … ,an. Вычислить: a1+1!, a2+2!, ..., аn + n!

Листинг 39. Решение задачи 6.3

<?php

$max=10;

$f=1;

for($i=0; $i<$max;$i++){

$a[]=rand(-100,100);

echo $i.' ';

echo $a[$i].' ';

echo $a[$i]+$f."<br>";

$f=$f*($i+1);}

?>

Рис. 59. Результат задачи 6.3

6.4 Даны натуральное число n, действительные числа A1, ..., An. В последовательности A1, ..., An все отрицательные члены увеличить на 0.5, а все неотрицательные заменить на 0.1.

Листинг 40. Решение задачи 6.4

<?php

for ($i=0; $i<9; $i++){

$a[]=rand(-10,10);

echo $a[$i].' ';

if ($a[$i]<0) $a[$i]+=0.5;

elseif ($a[$i]>0) $a[$i]=0.1;

echo $a[$i].'<br>';}

?>

Рис. 60. Результат задачи 6.4

6.5. Создайте одномерный числовой массив с одним элементом. Добавьте туда еще один элемент. Добавьте туда третий элемент представляющий из себя ассоциативный массив с одним элементом. Добавьте в этот ассоциативный массив еще один элемент. Замените первый элемент в родительском массиве на второй элемент из ассоциативного массива.

Листинг 41. Решение задачи 6.5

<?php

$a[]=1; $a[]=2;

$a[]=array("a"=>"1a"); $a[2]["b"]="2b";

echo '<pre>'; print_r($a); echo '</pre><br>';

$b=$a[0];

$a[0]=$a[2]["b"];

$a[2]["b"]=$b;

echo '<pre>'; print_r($a); echo '</pre>';

?>

Рис. 61. Результат задачи 6.5

6.6. Дан массив A целых чисел (N штук). Нужно получить новый массив целых чисел B, в котором каждый элемент равен произведению всех элементов исходного массива, кроме того элемента, который находится на месте результирующего. Не разрешается использовать операцию деления. Пример работы: [4, 3, 2, 1] > [6, 8, 12, 24] (Для решения используйте вложенный цикл).?

Листинг 42. Решение задачи 6.6

<?php

$n=rand(1,10);

for ($i=1; $i<=$n; $i++) {

$a[$i]=rand(1,20);}

for ($i=1; $i<=$n; $i++) {

$c=1;

for($j=1; $j<=$n; $j++){

if($i==$j) continue;

$c=$c*$a[$j]; }

$b[$i]=$c;}

echo "<pre>"; print_r($a); echo "</pre><br>";

echo "<pre>"; print_r($b); echo "</pre>";

?>

Рис. 62. Результат задачи 6.6

6.7. Дан целочисленный массив размера N. Вывести все содержащиеся в данном массиве нечетные числа в порядке возрастания их индексов, а также их количество K.

Листинг 43. Решение задачи 6.7

<?php

$n=rand(1,10);

for ($i=1; $i<=$n; $i++) {

$a[$i]=rand(1,20);

if ($a[$i]%2!=0) {

$k++;

echo $a[$i].'<br>';}}

echo '<br>Количество нечётных чисел: '.$k;

?>

Рис. 63. Результат задачи 6.7

6.8. Даны целые положительные числа M и N. Сформировать целочисленную матрицу размера M Ч N. Результат вывести на экран.

Листинг 44. Решение задачи 6.8

<?php

$n=rand(1,10); $m=rand(1,10);

echo '<table width="100" border="1">';

for ($i=1; $i<=$n; $i++) {

echo '<tr>';

for ($j=1; $j<=$m; $j++) {

$a[$i][$j]=rand(1,20);

echo '<td>'.$a[$i][$j].'</td>';}

echo '</tr>';}

echo '</table>';

?>

Рис. 64. Результат задачи 6.8

ЗАДАНИЕ 7

Тема: «Работа с файловой системой»

Постановка задач:

· Открытие/Закрытие файла;

· Чтение из файла/Запись в файл;

· Копирование, Переименование, Удаление;

· Загрузка файла на сервер.

Цель работы: «решение задачи»

Задачи:

7.1. Дан текстовый файл f, в котором хранятся данные. Вставить символ звездочки (*) после каждого символа восклицательного знака (!), вопросительного знака (?), точки (.), запятой (,), двоеточия (:), точки с запятой (;) и полученный результат сохранить в новый файл g.

Листинг 45. Решение задачи 7.1

<?php

$fd1=fopen("f.txt","r");

if (!$fd1) $res="Файл не найден. Вы уверены, что он там есть?";

else{

$soder=fread($fd1,filesize("f.txt"));

fclose($fd1);

$soder=str_replace(".",".*",$soder);

$soder=str_replace("!","!*",$soder);

$soder=str_replace(",",",*",$soder);

$soder=str_replace("?","?*",$soder);

$soder=str_replace(":",":*",$soder);

$soder=str_replace(";",";*",$soder);

$fd2=fopen("f2.txt","w");

fwrite($fd2,$soder); fclose($fd2);

$res="Успешно выполнено!!!";}

echo $res;

?>

Рис. 65. Результат задачи 7.1

7.2 Даны целые числа a1, …, a25 (? 0). Все четные числа записать в файл g, а все нечетные числа - в файл f.

Листинг 46. Решение задачи 7.2

<?php

$res="Исходный массив:<br>";

for ($k=0;$k<=25;$k++){

$arr[]=rand(-40,40);

$res=$res.$arr[$k]." ";}

if (!is_dir("files/7_2"))$da=mkdir("files/7_2");

$d1=fopen("f7_2.txt","w");

$d2=fopen("f7_2_2.txt","w");

foreach ($arr as $value){

if ($value%2==0) fwrite($d2,$value."\r\n");

else fwrite($d1,$value."\r\n");}

$res=$res."<br>Операция выполнена";

echo $res;

?>

Рис. 66. Результат задачи 7.2

7.3. Получить данные пользователя: фамилия, имя, отчество дата рождения, пол. Выполнить следующие задания:

а) Записать столбиком данные пользователя в новый текстовый файл file.txt, хранимый на диске D.

б) Открыть файл file.txt для чтения данных. Напечатать данные из файла.

в) Копировать файл file.txt на диск C, переименовав его на file_new.txt. Удалить файл file.txt с диска D.

г) Вывести информацию об атрибутах файла file_new.txt.

Листинг 47. Решение задачи 7.3

<h2>Данные о пользователя</h2>

<form name="form1" method="post" action="">

Насаб:<br />

<input type="text" name="nasab" /> <br />

Ном:<br />

<input type="text" name="nom" /><br />

Санаи таваллуд:<br />

<input type="text" name="sana_t" />

<p>Чинс: <br />

<input name="jins" type="radio" value="Зан" />

Зан<br />

<input name="jins" type="radio" value="Мард" />

Мард</p>

<p>

<input type="submit" name="Submit" value="Фиристодан" />

<input type="reset" name="Submit2" value="Тоза кардан" />

</p>

</form>

<?php

echo "<hr>";

$nasab=$_POST['nasab']; $nom=$_POST['nom'];

$sana_t=$_POST['sana_t']; $jins=$_POST['jins'];

//пункт а)

$malumot="$nasab\r\n$nom\r\n$sana_t\r\n$jins\r\n";

$fd=fopen("D:/file.txt","a+");

fwrite($fd,$malumot);

//пункт б)

$fread=file("D:/file.txt");

foreach($fread as $val) echo $val."<br>";

fclose($fd);

//пункт в)

echo "<hr>";

if(copy("D:/file.txt","C:/file.txt") AND unlink("D:/file.txt")) {

echo "Файл скопировался на диск С и удалился с диска D"; }

else echo "к сожалению файл не скопировался на диск С!";

//пункт г)

echo "<hr>";

$file="C:/file.txt";

if(!file_exists($file)) exit("файл не существует");

else {

$arr=pathinfo($file);

echo "Имя файла - $arr[basename]<br>

дополнительная часть файла - $arr[extension]<br>";

echo "размер файла - ".filesize($file)." байт<br>";

echo "Тип файла - ".filetype($file)."<br>"; }

?>

Рис. 67. Результат задачи 7.3

ЗАКЛЮЧЕНИЕ

В процессе выполнения данной работы был оформлен набор web-страниц с некоторым количеством решенных задач с помощью которых получили представление о языке PHP и была достигнута основная цель работы - разработка Интернет-магазина. Для достижения поставленной цели были проведены изучение и анализ уже существующией структуры организации интернет-магазинов. При этом был выявлен ряд недостатков существующей системы, которые возможно устранить за счет разработки и внедрения нового Интернет-магазина.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

программирование оператор функция массив данных

1. Томсон Лаура, Веллинг Люк. Разработка Web-приложений на РНР и MySQL. СПб: ООО «ДиаСофтЮП», 2003. - 672 с.

2. Н.В. Савельева. Основы программирования на PHP. М.: Интернет-университет информационных технологий. 2005, 260 с.

1.3. Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5. СПб.: БХВ - Петербург, 2006 - 608 стр.

1.4. Коггзолл Джон. PHP 5. М.: Издательский дом «Вильямс», 2006 - 752 стр.

1.5. Мотев А.А. Уроки MySQL. Самоучитель. СП.: БХВ-Петербург, 2006 - 208 стр.

1.6. Кузнецов М.В., Симдянов И.В. Самоучитель MySQL СПб.: БХВ - Петербург, 2007 - 560 стр.

1.7. Конверс Тим, Парк Джойс, Морган Кларк. PHP 5 и MySQL. Библия пользователя. М.: Издательский дом «Вильямс», 2006 - 1216 стр.

1. Рева О.Н. HTML. Просто как дважды два. М.: Изд-во Эксмо, 2007 - 256 стр.

Размещено на Allbest


Подобные документы

  • История и основы структурного программирования в среде Turbo Pascal. Работа с различными типами данных. Операторы языка. Работа с символьными и строковыми переменами, одномерным, двумерным массивами. Классификация компьютерных игр. Игры на языке Паскаль.

    курсовая работа [28,8 K], добавлен 06.05.2014

  • Современные информационные технологии обработки данных, автоматизированного офиса и баз данных, сетевые интернет-технологии. Работа с системой управления базами данных (СУБД) MS Access, связанными списками MS Excel, текстовым редактором MS Word.

    методичка [5,6 M], добавлен 01.07.2014

  • Особенности синтаксиса языка программирования С++. Создание панели меню, для получения информации о программе, сохранения результата и выхода из программы. Работа с файлами, двумерными и одномерными динамическими массивами, функциями, строками и циклами.

    курсовая работа [782,3 K], добавлен 06.02.2016

  • История разработки языка Pascal, его основные преимущества и недостатки. Понятие и допустимые операции над множественным типом данных. Работа с символьными переменными, числами и строками. Примеры записей с вариантами. Разработка интерфейса приложения.

    курсовая работа [34,3 K], добавлен 28.12.2010

  • Функции ОС по обслуживанию файловой системы. Комплекс операций над файлами и папками, дисками в Windows 98. Форматирование жесткого диска. Работа в текстовом процессоре Microsoft Word: создание текстового документа с таблицей списка учебной группы.

    контрольная работа [17,7 K], добавлен 02.12.2013

  • Понятие и общая характеристика языка программирования РНР, принципы и этапы его работы, синтаксис и ассоциируемые массивы. Обработка исключений в языке Java. Работа с базами данных с помощью JDBC. Изучение порядка разработки графического интерфейса.

    презентация [192,3 K], добавлен 13.06.2014

  • Изучение алгоритмов, написание программ на языке C#. Работа с массивами, строками, перечислениями, структурами, интерфейсами. Разработка и функциональность Windows-приложения. Создание и подключение баз данных в среде программирования Visual Studio 2019.

    отчет по практике [6,7 M], добавлен 18.10.2020

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

    контрольная работа [52,9 K], добавлен 03.10.2010

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

    контрольная работа [614,7 K], добавлен 16.09.2012

  • Ознакомление со структурой, комментариями, переменными и типами данных, константами, перечислениями, преобразованием типов языка программирования высокого уровня С++. Ключевые понятия языка, идентификаторы, ключевые слова, функции, операторы, выражения.

    контрольная работа [31,2 K], добавлен 12.12.2009

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.