Jump to content

Задание для новичков(php)


Recommended Posts

Часто слышу жалобы новичков, что им не на чем набратся опыта. Ну вот, я могу дать несколкьо творческих заданий:

Задание №1.

Сделать функцию, которая бы возводила любое число в любую степень.

Задание №2.

С помощью высчитывания коэффициента, сделать превьюшки для фоток. При этом при уменьшении фоток не должно терятся качество.

Задание № 3.

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

Задание №4(сложное!)

Один из приемов защиты изображенний. Надо создать из оригинального изображение, N колличество двивов, которых столько же сколько и пикселей в изображении, и они того же цвета. Одним слововм, надо создать картинку на html.

Задание №5

Есть переменная $text. Надо подсчитать и вывести колличество букв а, б и ы в этом тексте.

Задание №6(простое)

Сделать бан по ип. Все просто: в базе хранится время начлаа бана, время конца бана и ип юзера. Надо чтоб когда юзер с ипом который есть в базе заходит на старницу, проверялось время бана и если время еще не истекло то выводим сообщение: "Ха-ха!! Ты в бане!"

Ну думаю для начала хватит. Чуть позже еще выложу.

Просьба ответы присылать на pavelpiskun@gmail.com

Через недельку составим список самых респектабильных новичков <_<

Дополнение к заданию №2

Вывести превьюшки всех изображений в директории images. При нажатие на превьюшку, появляется большое изображение.

P.S Если кто не понял что такое превьюшка то:..

Превью - уменьшонная копия большой картинки, разположенная на странице. Превью бывает двух видов:

*Уже готовая маленькая копия изображения, которая по традиции хранится в директории thumbs

*Маленькое изображение. которое генирируется с помощью отельной программы. Отображенние этой картикни будет выглядеть как то так:

<img src="resize.php?file=img.jpg&w=200&height=200">

Edited by -=PSU=-
Link to comment
Share on other sites

  • Replies 65
  • Created
  • Last Reply

Top Posters In This Topic

Задание №1.

Сделать функцию, которая бы возводила любое число в любую степень.

еслиб я учил php я бы сказал что это тупое задание.. или очень простое.

любое число это рэндом чтоли от -бесконечности до +бесконечности? %)

Link to comment
Share on other sites

Спасибо за "Великий почин". Отличный пинок для ленивых, к коим себя и отношу. Проковырялся целый день, но сделал и, вроде бы даже, работает!

Высылаю...

Получил глубокое моральное удовлетворение, еще раз спасибо!

А, нельзя ли, конкретизировать Задание №2?

Edited by dyadya
Link to comment
Share on other sites

можно)

Дополнение к заданию №2

Вывести превьюшки всех изображений в директории images. При нажатие на превьюшку, появляется большое изображение.

P.S Если кто не понял что такое превьюшка то:..

Превью - уменьшонная копия большой картинки, разположенная на странице. Превью бывает двух видов:

*Уже готовая маленькая копия изображения, которая по традиции хранится в директории thumbs

*Маленькое изображение. которое генирируется с помощью отельной программы. Отображенние этой картикни будет выглядеть как то так:

<img src="resize.php?file=img.jpg&w=200&height=200">

Link to comment
Share on other sites

Сделал первое на JS.. ибо php не знаю :P

function quest(a, b){
var y = new Array(b);
y[0] = a;
for (var n = 0; n<b; n++){
y[n+1] = y[n] * y[n];
}
var x = y[b+1];
return x;
}

на работоспособность не проверял, но по идее должно <_<

Edited by Nekromancer
Link to comment
Share on other sites

на работоспособность не проверял, но по идее должно

Такой пока вот результат: x=undefined

var x = y[b+1]

var x = y - Получаем 2 в степени 3 = 256

Это ж какой массив получится, если a = 1; b = 10000000....

Edited by dyadya
Link to comment
Share on other sites

[offtop]

Задание №4(сложное!)

[/offtop]

Как практика работы с изображениями конечно сойдет, но что помешает нажать юзеру [Prt Sc]?

И будет ли картинка из дивов правильно отображаться сами знаете где?

Link to comment
Share on other sites

1.

А ваша цикличная возводилка в дробные степени возводит? А то классическое решение для x^y - это exp(y*ln(x)). Но без использования встроенных функций задача становится жутко математической, типа разложить всё это дело в ряд какого-нибудь там Тейлора или Лорана, я в них не разбираюсь, и потом всё равно воспользоваться этой формулой.

2.

При этом при уменьшении фоток не должно терятся качество.
Что понимается под качеством? Степень сжатия картинки или её разрешение? Если разрешение, то задача невыполнима.

3.

Хороший матфильтр врядли можно задать шаблонами, так что задача весьма не тривиальна и новичку не под силу. Просто если фильтровать все сочетания типа "бл я", то будет слишком много лишних срабатываний. Да ещё нужно учесть варианты вроде "б_л_я", "б.л.я", "б л я", "6ля", "бJIя", "блйа" и так далее. С другой стороны, в задании не сказано, что из текста нужно вырезать ТОЛЬКО нецензурные выражения, а текст не трогать. Значит можно просто убрать весь текст. Технически задача будет выполнена в соответствии с споставленным условием. Некоторые олимпиадные задачи таким хитрым образом иногда решаются.

и заменяет три последние буквы тремя звездочками(***)
Три последние буквы текста или три последние буквы каждого слова? Условие не однозначно.

Вообще-то, самый простой матфильтр строится на вариациях четырёх-пяти слов (в чате делал как-то). Процентов 80 (навскидку) всего мата он отфильтрует :P Остальные проценты придутся на редко встречаемые слова (или написанные с ошибками) и на варианты обхода фильтра, которые я упомянул.

Всё остальное достаточно просто <_<

Edited by Int
Link to comment
Share on other sites

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

Всё остальное достаточно просто smile.gif

делалось же для новичков <_<

Link to comment
Share on other sites

3.

Хороший матфильтр врядли можно задать шаблонами, так что задача весьма не тривиальна и новичку не под силу. Просто если фильтровать все сочетания типа "бл я", то будет слишком много лишних срабатываний. Да ещё нужно учесть варианты вроде "б_л_я", "б.л.я", "б л я", "6ля", "бJIя", "блйа" и так далее.

Возможно вам в некоторых случаях поможет Расстояние Левенштейна

Link to comment
Share on other sites

Очень сложно написать регулярку, которая уследит за неграмотными пользователями :rolleyes:

Почитал про Левенштейна, тоже может давать сбои на верных словах, универсальных алгоритмов скорее всего нет.

Link to comment
Share on other sites

С Днём Победы! С Большим и Настоящим праздником!

Сделал Задание №2. Опять получил массу удовольствия! И, главное, штучка-то какая нужная для галерей... Очень даже пригодится. Ещё раз спасибо!

Высылаю...

Link to comment
Share on other sites

Был сегодня на книжном рынке - глаза разбегаются. Выбор огромный, цены приемлемые - от 5 до 20уе. Может кто-нибудь посоветовать хорошее руководство по РНР? Не сочтите за труд...

Link to comment
Share on other sites

 Share


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy