Модераторы: Alx, Fixin

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP, Задачки 
:(
    Опции темы
Рыжий
Дата 22.6.2005, 00:22 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



И снова продолжаю тему Интерестных задач по программированию, на этот раз, PHP!
Помним правила: сюда можно, даже нужно, постить только задачки, прочий флейм неуместен.
Удачи!

Задачка №1
Цитата

Тебе необходимо написать голосование. Использовать базу данных

Для реализации голосования необходимо продумать детали:

1) Структура базы.
2) Логику скрипта (вывод результатов, само голосование, администрирование, архив).
3) Интерфейс пользователя.
4) Анти-флуд (для защиты от накрутки).
Вопрос задал IZ@TOP



Задача №2
Цитата

При регистрации многие из вас видели, что нужно ввести "контрольные цифры". Вам нужно реализовать этот скрипт - каждый раз контрольные цифры должны быть разные, должна быть проверка правильности данных.
Вопрос задал PHP-Script



Дальше решил запостить задания по регулярным выражениям:
Задача №3
Цитата

Пользователь ввел на форме данные в поле "Телефон". Надо проверить, подходит ли строка введенная пользователем под шаблон: (ХХХХ) ХХХ-ХХХХ, причем важный момент в том, что 78-9789 - является правильным адресом (т.е. маска не жесткая по кол-во цифр, но кол-во цифр не должно быть 1, к примеру). После ) может быть пробел, а может и нет, а может и несколько (это подсказка).



Задача №4
Цитата

Есть текст с списками цен. Надо вырезать (получить массива $matches) из него цены в USD, RUR или EU. ( как пример могут быть строка 23.78 USD ).



Задача №5
Цитата

Необходимо в тексте выделить доменные имена, сделав их ссылкам, в зонах com, net, org красным цветом, а ru, su, ua - синим, aero - зеленым  smile . Т.е. в тексте есть "зайди сюда ya.ru". Подсказка - выполнить надо через callback функцию. ЗЫ: ссылка может иметь вид: ya.ru?param1=param2&... или ya.ru/wer/wr/wr.



Это сообщение отредактировал(а) PHP-Script - 22.6.2005, 00:50
PM MAIL ICQ   Вверх
Irokez
Дата 22.6.2005, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



извините конечно... но чем они интересные smile
PM   Вверх
Рыжий
Дата 22.6.2005, 00:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



Irokez
Ну во первых это не для тебя задачи smile Тебе уже не до задачек...
А во вторых - просто собираю коллекцию различных по тематике задач, чтобы расширить свой кругозор smile
PS с тебя штраф - 5 задач.
PM MAIL ICQ   Вверх
Irokez
Дата 22.6.2005, 01:25 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(PHP @ 22.6.2005, 00:45)
Irokez
Ну во первых это не для тебя задачи smile Тебе уже не до задачек...
А во вторых - просто собираю коллекцию различных по тематике задач, чтобы расширить свой кругозор smile
PS с тебя штраф - 5 задач.

smile ок

Задача №1 - Транзакция
Цитата

Если не ошибаюсь, то в mysql 4 у движка таблицы MyISAM нету реализации транзакции, задача - реализовать такую возможность программнам путем. Например через отдельный класс.


Задача №2 - Шифрование текста
Цитата

Реализовать шифрование текста путем замены букв друг другом (напр. A => B, B=>X, итд). Каждая буква может представлять только одну другую букву. Написать три функции - первая генерирует ключ в виде нового алфавита. Вторая шифрует заданный текст по заданному ключу. Третья расшифровывает заданный зашифрованный текст по заданному ключу.
Еще интереснее, если кто-нибудь напишет функцию, которая будет расшифровывать текст без ключа smile


Задача №3 - Защита картинок
Цитата

Многие на форуме спрашивают - как можно защитить картинки от скачивания. На то получают ответ - что это невозможно. Чтож такое возможно, правда вряд ли применимо smile
Задача заключается в защите картики путем замены ее на соответствующий HTML код (напр каждый пиксель заменить на див шириной и высотой в 1 пиксель и такого же цвета)
У кого получится в итоге самый легкий HTML код, добавлю +


Задача №4 - Сравнение картинок
Цитата

Простая задача - даны две картинки, сравнить.


Задача №5 - Генератор регулярных выражений
Цитата

Написать функцию, которая генерирует перл-совместимое регулярное выражение, которое будет распознавать заданные строки (строки задаются в массиве). Можно также добавить строки - которые нужно отрицать.

ЗЫ если я дал эти задачи - это не значит что я знаю как их решить smile
PM   Вверх
mr.Anderson
Дата 29.6.2005, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



smile smile smile smile Офигеть! Я из всех заданных тут задачек могу решить только №2 у PHP-Script.
Ну, давайте начнем. Но: на таких сайтах обычно выводится картиночка с циферками. Если надо так же, то я не знаю решения. А если просто генерация цифр (4 цифры), то пожалуйста:
Код

<?php

$vvedeno=$_POST['text'];
$generation=mt_rand(1,9).mt_rand(0,9).mt_rand(0,9).mt_rand(0,9);
function nextloc()
{
echo "<script>location.href='NEXT_LOCATION';</script>";
}
if(isset($_POST['sub']))
{

if(isset($_POST['vvedeno'])) $flag=($generation==$vvedeno)?true:false;
{
if($flag) nextloc();
else
{
?>
<form method=post>
Введите контрольные цифры: <?=$generation?>
<input type=text name='text'><br>
<input type=submit name='sub'>
</form>
<?
}
}

}

?>

Я код не проверял, написал только сейчас, с лету, так что могут быть ошибки.
Но скрипт мне нравится. Красивый. smile Даже если не работает.

Это сообщение отредактировал(а) sim7 - 29.6.2005, 17:37


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Irokez
Дата 29.6.2005, 17:09 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(sim7 @ 29.6.2005, 16:55)

$generation="".mt_rand(0,1000)."".mt_rand(0,1000)."".mt_rand(0,1000)."".mt_rand(0,1000)."";

странная генерация =) число будет иметь от 0 до 20 знаков и зачем нужны пустые строки?
PM   Вверх
mr.Anderson
Дата 29.6.2005, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Млин, в самом деле, чего это я? Надо эту строчку во так подправить:
Код

$generation=mt_rand(1,9)."".mt_rand(0,9)."".mt_rand(0,9)."".mt_rand(0,9);

А пустые строки - а как вы предлагаете написать четыре раза подряд mt_rand? Что, безо всяких пробелов? Вот я и сделал пустые строки. Тип переменной будет string, как я понимаю...


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 29.6.2005, 17:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



И так строкой будет,
Код
$generation=mt_rand(1,9).mt_rand(0,9).mt_rand(0,9).mt_rand(0,9);

PM ICQ   Вверх
Irokez
Дата 29.6.2005, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



лучше было бы:
Код

$generation = mt_rand(0, 9999);
$generation = str_pad($generation, 4, '0', STR_PAD_LEFT);


Это сообщение отредактировал(а) Irokez - 29.6.2005, 20:41
PM   Вверх
mr.Anderson
Дата 29.6.2005, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Mal Hack, понял.
Irokez, а код не объясните? Что за strpad? И потом, почему лучше? Так получится в две строки, а у меня в одну. smile ;)
Добавлено @ 17:38
В общем, код, мной написанный 4 поста назад, я подправил. С учетом строчки у Mal Hack.


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Mal Hack
Дата 29.6.2005, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



Irokez
ну имхо, это изврат...
Тогда уж проще сделать mt_rand( 10000 , 999999 );
Добавлено @ 20:24
PS:: str_pad(); http://php.net/str_pad
PM ICQ   Вверх
Irokez
Дата 29.6.2005, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(Mal @ 29.6.2005, 20:23)
Irokez
ну имхо, это изврат...
Тогда уж проще сделать mt_rand( 10000 , 999999 );

да нет, совсем не изврат.
mt_rand( 10000 , 999999 ); - получим число от 10000 до 999999, в моем коде - то что и требовалось - число от 0 до 9999 с ведущими нулями

Цитата(sim7 @ 29.6.2005, 17:37)
Irokez, а код не объясните? Что за strpad? И потом, почему лучше? Так получится в две строки, а у меня в одну. smile ;)

генерируем случайное число от 0 до 9999, если число получилось не 4-х значное (<1000) дополняем недостающие нули функцией str_pad()
PM   Вверх
mr.Anderson
Дата 1.7.2005, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 1
Всего: 128



Что-то тут тихо...
А нельзя ли задать задачки попроще? А то я тут вообще ничего не могу выполнить... smile
Добавлено @ 20:43
Да, и еще: функция str_pad пишется через подчеркивание, а не вместе!
Код

string str_pad(string strinput, int pad_length [, string pad_string [, int pad_type]])



--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Bikutoru
Дата 6.7.2005, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Увлекающийся
**


Профиль
Группа: Участник
Сообщений: 522
Регистрация: 24.5.2005
Где: Москва

Репутация: нет
Всего: 22



Цитата
Написать функцию, которая генерирует перл-совместимое регулярное выражение, которое будет распознавать заданные строки (строки задаются в массиве). Можно также добавить строки - которые нужно отрицать.


Irokez, помнится, ты сам грозился эту задачу решить... Как успехи? smile


--------------------
Человек, словно в зеркале мир — многолик, 
Он ничтожен — и он же безмерно велик!
Омар Хайям
PM   Вверх
Irokez
Дата 6.7.2005, 15:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 1
Всего: 53



Цитата(Bikutoru @ 6.7.2005, 14:34)
Irokez, помнится, ты сам грозился эту задачу решить... Как успехи? smile

угу помню smile , сделал для массива строк с одинаковыми длинами, пока на этом остановился
PM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема »


 




[ Время генерации скрипта: 0.1688 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.