
- •10 Ідей необхідності розробки програмного забезпечення
- •Проект «Фільми під настрій»
- •Матеріали, знання, література
- •Програми пристрої датчики
- •2.3Алгоритм реалізації
- •2.4 Споживачі та користувачі
- •2.5 Час реалізації
- •2.6 Ціна проекту
- •3.Сайти з дипломними і курсовими роботами по програмуванню
- •Мова програмування php
- •Галузь застосування
- •Переваги та недоліки
- •4.3 Джерела вивчення мови
- •Задача для реалізації на мові програмування php
- •Задачі які хотіли б створити
- •Література і джерела
4.3 Джерела вивчення мови
-
Друковані видання;
-
Наочні відео уроки;
-
Он-лайн підручники;
-
Форуми веб-програмістів;
-
Задача для реалізації на мові програмування php
Cтворення "матан-капчі" (рис. 1) з використанням тільки PHP і GD. Для відтворення формул будемо використовувати PhpMathPublisher - вільно поширювану бібліотеку, що використовує тільки розширення GD. (скачати можливо по адресі http://www.xm1math.net/phpmathpublisher/)
рис. 1
PhpMathPublisher повинен лежати в папці phpmathpublisher.
Ініціалізіруем:
include ("phpmathpublisher / mathpublisher.php"); / / Підключаємо малювалку формул
$ Upper = rand (0, 10); / / Верхня межа інтеграла
$ Lower = rand (-10, 0); / / Нижня межа інтеграла
$ Num = 4; / / Кількість доданків у функції
Тепер потрібно створити рядок з формулою, можна одночасно порахувати відповідь:
$ Text = "int {". $ Lower ."}{".$ upper ."}{";
for ($ i = 0; $ i <$ num; $ i + +) {
$ K = rand (1, 5); / / Коефіцієнт перед x
$ P = rand (1, 5); / / Показник ступеня x
$ Sign = rand (0, 2) == 0? 0:1; / / Знак, плюс буде в 2 рази частіше
$ Tt = $ k> 1? $ K: ""; / / Тимчасова змінна для зберігання доданка
$ Tt .= "x";
if ($ p> 1) $ tt .="^".$ p;
if ($ i == 0) {
if ($ sign == 1) $ text .="({-}".$ tt .")";
else $ text .= $ tt;
} Else $ text .= ($ sign == 1 ?"-":"+").$ tt;
if ($ sign == 1) $ k =- $ k;
$ Answer + = ($ k * pow ($ upper, $ p +1) / ($ p +1 ))-($ k * pow ($ lower, $ p +1) / ($ p +1));
/ / І заодно вважаємо відповідь.
}
$ Text .= "dx}";
У результаті у нас вийде рядок такого виду:
int {-4} {4} {3x ^ 5-4x ^ 5 +3 x ^ 2 + x ^ 2dx}
Тепер залишилося відмалювати все це на картинці - з допомогою PhpMathPublisher це займе всього кілька рядків:
$ Formula = new expression_math (tableau_expression (trim ($ text)));
$ Formula-> dessine (24); / / 24 - розмір символів
$ W = imagesx ($ formula-> image) +20; / / Відступи по 10 пікселів з кожного боку, інакше при застосуванні спотворень межі у інтеграла з'їжджають за край зображення
$ H = imagesy ($ formula-> image) +20;
$ Fi = imagecreatetruecolor ($ w, $ h);
imagefill ($ fi, 0, 0, 0xFFFFFF);
imagecopy ($ fi, $ formula-> image, 10, 10, 0, 0, $ w-20, $ h-20);
Далі непогано застосувати нелінійні спотворення - для цього я використовував алгоритм MultiWave. (http://www.captcha.ru/captchas/multiwave - за посиланням повний код і приклад використання. )
А далі нам нічого не залишається, крім як вивести отриману картинку в браузер:
header ("Content-type: image / png");
imagepng ($ im);
Готову сторінку в мережі Інтернет можливо продивитися за посиланням:
http://гришка.рф/matan_captcha
-
Задачі які хотіли б створити
Надалі я б хотів реалізувати такі задачі:
-
Створення соціальної мережі мікроблога (аналог twitter);
-
Cтворення програми для реєстрації музичних вподобань користувача, та пошук схожих до них музичких треків;