Перейти к содержимому

Сервис обмена электронных валют


Задачи на PHP для начинающих

#1 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8
0

Отправлено 08 Август 2009 - 21:23

Уважаемые форумчане, я решил открыть тему с задачами на PHP, так как когда-то сам только начинал изучать PHP и самому было сложно сообразить, что бы такого написать, чтобы попрактиковаться.
Надеюсь другие обитатели форума поддержат меня и пополнят список своими задачами.

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


Задача №1(математическая)

Рассчитать скорость движения машины и вывести её в удобочитаемом виде. Осуществить возможность вывода в км/ч, м/c.
Исходные данные: Пройденный путь - S; Время движения - t.
Представить решение задачи с помощью одной функции.


Задача №2(математическая)


Разработать функцию вычисления факториала заданного числа (n!)
Исходные данные, передаваемые в функцию: n - число, факториал которого вычисляется.
На выходе получить результат в виде факториала числа.


Задача №3(математическая)


Разработать функцию, которая вносит процентную коррекцию в массив чисел(целых, дробных или смешанных не имеет значения)
Исходные данные:
1)Массив с числами в виде

array(5, 6.5, 10, 3.355, 400, 9.43, ..., [n]);
2) Процент внесения изменений(0.8 - 80% от целого, 1 - оставить без изменения, 2.5 - увеличить в полтора раза и т.д.)

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

 


Задача №4(работа с файлами)


Имеется файл с содержимым (книга|автор|издательство|состояние) например:

PHP 5 объектно-ориентированное программирование|Шишов Алексей|БХВ|1
MySQL: неподъемная книга разработчика|Шишов Алексей|БХВ|0
Справочник всего Г в России|Пупкин Вася|Пупкин и к0|1
Книга для домохозяек|Хозяйка Лидия|Домхоз|1
Телевидение в каждой коморке|Телестанция СССР|КВС+|0
Нужно написать 3 функции.
1) Функция, считывающая из файла построчно данные и разбила их на многомерный массив вида:
array(
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
array(title => [книга], author => [автор], print => [издательство], status => [состояние]),
);
Выходные данные: массив книг.
2) Функция, обрабатывающая массив книг и возвращающая книги с запрошенным состоянием. Поле состояния отвечает за публикацию, опубликована книга или нет.
3) Функция, выводящая список книг в удобочитаемой форме.

 


Задача №5(работа с файлами)


Написать счетчик открытия для одной страницы. Количество открытий страницы хранится в txt-файле в виде числа.

[число открытия страницы]
После каждого 10 открытия страницы, выводить приветственное сообщение на экран.

 


Задача №6(работа с файлами и формой)


Есть форма с одним полем и кнопкой отправки. Поле, в которое вводится ссылка заполняется пользователем и отсылается на обработку.
Файл-обработчик получает ссылку, проверяет нет ли ещё такой в базе(файле) и заносит её в конец файла.


Задача №7(математическая и формы)


Осуществить задачу перевода числа из одной системы счисления в другую. Есть пользовательская форма с тремя полями(число, из какой СС, в какую СС), Пользователь заполняет все поля и отправляет данные на сервер.
Пользователю должно вывестись сообщение вида:

Старая система счисления - [СС]
Число - [Число в старой СС]

Новая система счисления - [СС]
Число - [Число в новой СС]

Задача №8(работа с каталогами)


Написать функцию, которая будет удалять каталог и всё содержимое в нём, т.е. подкаталоги и файлы.
Осуществить рекурсивный вызов этой функции в подкаталогах.
Исходные данные: path - путь удаляемого каталога


Задача №9(работа с датой)


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


На сегодня хватит задач на PHP :ph34r:


 

 

  • 0

#2 Евгений

Евгений
  • Пользователь
  • 481 сообщений
  • Репутация: 0

Отправлено 09 Август 2009 - 00:25

Задача №10 ("до события осталось...", работа с датой)

Имеется дата в формате дд.мм.гггг (например 31.12.2009). Надо написать скрипт который будет вычислять сколько осталось дней, месяцев, лет до этой даты. И вывести в формате "До события остался 1 год 5 месяцев и 25 дней". (при желании можно вывести часы и минуты).


Задача №11 ("строка из букв строки", работа со строками)

Даны 2 слова, определить можно ли из 1ого слова составить 2ое, при условии что каждую букву из строки 1 можно использовать только один раз.


Задача №12 ("Палиндром", работа со строками)

Палиндромом называют последовательность символов, которая читается как слева направо, так и справа налево. Найти во введённой строке подстроку-палиндром максимальной длины.


Задача №13 ("Перевертыш", работа со строками)

Вводиться слово, выводиться его перевертыш. Например: "перевертыш" => "шытревереп".


Задача №14 ("поиск с подсветкой", регулярные выражения)

Дан текст и "слово", выделить красным слова в тексте которые содержат в себе "слово".
Например: Дано слово "мастер" и текст "MasterWebs - Форум веб-мастеров"


Задача №15 (Шифрование текста)

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


Задача №16 (Случайная строка)

Написать функцию генерирующюю случайную строку определенной длины.


  • 0

#3 gaaarfild

gaaarfild
  • Пользователь
  • 596 сообщений
  • Репутация: 0

Отправлено 06 Декабрь 2009 - 14:16

Задача №17 (Собственный код)

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


  • 0

#4 farxodjon

farxodjon
  • Пользователь
  • 1 сообщений
  • Репутация: 0

Отправлено 02 Ноябрь 2010 - 14:46

Привет всем! Я только начил учить РНР и если есть возможность дайте задачки по логическим конструкциям if-else, по циклу do-while,по массивам, по функциям. Зарание СПС!
  • 0

#5 Banderas

Banderas
  • Пользователь
  • 1 168 сообщений
  • Репутация: 1

Отправлено 29 Декабрь 2010 - 02:54

Привет всем! Я только начил учить РНР и если есть возможность дайте задачки по логическим конструкциям if-else, по циклу do-while,по массивам, по функциям. Зарание СПС!

Вспоминаю первый курс... ;)

Задача на if-else №18

У нас есть график координат. Дано координаты точки А(х;у). Лежит ли эта точка во второй четверти и в часте круга радиусом 10, центр в (0;0). Если нет - определить в какой четверти лежит точка.


  • 0


#6 aspide

aspide
  • Пользователь
  • 185 сообщений
  • Репутация: 1

Отправлено 22 Январь 2011 - 12:36

RSA++
Исследовательский отдел министерства обороны Байтландии разработал новый сверхнадёжный алгоритм шифрования. Эот алгоритм назвали RSA++.
Как известно, в основе алгоритма RSA лежит использование пары простых натуральных чисел P и Q и производного числа N = P*Q. Числа P и Q называются ключами шифрования, а число N - модулем шифрования.Простое число - это число, которое имееет ровно два натуральных делителя - еденицу и самого себя.
Принципиальным отличием нового RSA++ от RSA состоит в выборе ключей. Если в реализации RSA алгоритма требуется пара простых чисел P и Q, то в RSA++ алгоритме эти числа должны быть взаимно простыми. Два числа называются взаимно простыми, если они не имеют никаких общих делителей, отличных от еденицы
Для анализа надёжности нового алгоритма учёные хотят узнать количество разных пар ключей P и Q, таких что 1<P<Q и соответсвующий им модуль шифрования удовлетворяет услови. N<=K. Ваша задача помочь учёным в решении этого вопроса.
Входные данные:
Одно целое число K
Выходные данные
Одно целое чісло - колічество различных пар P и Q
Примеры:
Вход 12, вывод 3. Так как (2,3; 2,5; 3,4)
Вход 18, вывод 6. Так как (2,3; 2,5; 2,7; 2,9; 3,4; 3,5)
З.Ы. Не копипаста!


Ограничение на время работы: 0,3 секунды.
Задача вообще для паскаля, но я решил в ПХП. Позже выложу тесты к ней, там много перепечатывать, а сканер не работает


  • 0

#7 juniorspecialistphp

juniorspecialistphp
  • Пользователь
  • 7 сообщений
  • Репутация: 0

Отправлено 07 Февраль 2011 - 19:19

Задача №19(работа с массивами)
Постановка - имеем массив например - array(1,2,3,8,14,89,45). Получить массив array(45,89,14,8,3,2,1). Необходимо сделать перестановку.
Использовать нельзя
Конструкцию подобную такой - $element=array[1];
Нельзя использовать функции пхп по перестановки значений в массиве, типа array_push или array_pop.
Также нельзя добавлять элементы массива и удалять их.
  • 0

#8 Ivan V Pochta

Ivan V Pochta
  • Пользователь
  • 12 сообщений
  • Репутация: 0

Отправлено 19 Февраль 2011 - 04:29

Куда важнее не математические задачи, а именно работы с массивами, циклами и строковыми функциями. При работе в web они куда чаще встречаются.

От себя могу посоветовать посомтреть еще и учебники С - практически тоже самое.
  • 0

#9 buzcrysl

buzcrysl
  • Пользователь
  • 2 сообщений
  • Репутация: 0

Отправлено 08 Июнь 2011 - 12:37

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

Администрация, подскажите ссылку где хранятся решения.
  • 0

#10 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 08 Июнь 2011 - 14:09

Вот тема с решением задач - Перейти
Там есть решение и этой задачи. Кстати, Вы уже не первый, кто решает эту задачу не полностью - в условии сказано, что необходимо предусмотреть возможность вывода как в км/ч, так и в м/с.
  • 0


robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru