PHP задачи.

PHP, MySQL, Javascript, XHTML и др.
User avatar
Elven
Потребител
Потребител
Posts: 357
Joined: 24 Nov 2008, 17:34
Skype: d4rkn3ssx
Steam Community ID: Elfinity
Contact:

PHP задачи.

Post by Elven »

Задача №1:
Въвежда се произволна числова стойност (колкото може да поеме PHP интерпретатора),тази числова стойност се обработва така че изхода
на програмата да е,приблизително в коя степен на 2-ката е това число.

Условия:Няма.

Вход:1000
Изход:10

Вход:1500
Изход:11

Задача №2:
Да се напише функция,която взима 2 параметъра ($arg1,$arg2) от вида на (int),и инкрементира $arg1 докато не стане повече от $arg2.

Условия:Да се инкрементира само със единица.Без използването на while,do-while и for цикъли.Началните стойности,на параметрите трябва да са
($arg1 < ($arg2 + 1)).Функцията се вика 1 път :) (Без DB-та,Addon's за Apache и прочие)

Задача №3:
Да се напише функция,която взима като параметър ($arg) от вида на (string),която взима низа $arg,и капитализра първата буква,от всяка дума.

Условия:да не се ползват функциите ucwords() и ucfirst()

Вход:hello elf
Изход:Hello Elf

Вход:elf world
Изход:Elf World

Задача №4:
Разберете какво прави тази функция:

Code: Select all

function _($_,$__){return(($_+(($_/$__)*($_-$_)))>($__-(($__-$__)*($__/$_)))?$_+($__*($_-$_)):$__-($_*($_-$_)));}
Условия:Нямате право да извиквате тази функция.
--------------------------------

Решили:
Karo - 2-ра и 3-та задача
DMARTO - 1-ва и 3-та задача.
Warxcell - 4-та задача :)
debug - 3-та задача :)
--------------------------

Решението ми го пратете на ЛС.
Ако имате въпроси,идеи/предложение към задачите,напишете в тази тема.
User avatar
antipatrul
Потребител
Потребител
Posts: 1
Joined: 11 Sep 2009, 09:58
Skype: antipatrul

Re: PHP задачи.

Post by antipatrul »

На втората не ми стана много ясно ама мисля, че това е решението

Code: Select all

<?php
function izchislenie($chislo, $chislo2) {
if($chislo >= $chislo2) {
echo 'Алгоритамът не може да бъде извършен защото първото число е по-голяма от второто или равна';
} else {
$razlika = $chislo2 - $chislo;
$chislo3 = $razlika + 1;
$chislo4 = $chislo + $chislo3;
$kraino_chislo = 'Първото чесло трябва да е '.$chislo4.', за да е по-голямо с 1 от второто число';
}
return $kraino_chislo;
}
izchislenie("10", "20");
?>
Last edited by antipatrul on 28 Jun 2010, 16:58, edited 1 time in total.
User avatar
renamed-01
Потребител
Потребител
Posts: 18
Joined: 31 Mar 2010, 17:33

Re: PHP задачи.

Post by renamed-01 »

3-та:

<?php
function upcase($arg) {
$str = $arg;
$symbols = strlen($str);
$parwa_Bukva = substr($str, -$symbols, 1);
$ostatak = substr($str, -($symbols-1));
$capital = strtoupper($parwa_Bukva);
echo $capital.$ostatak;
}
upcase("karcho^^");
User avatar
Elven
Потребител
Потребител
Posts: 357
Joined: 24 Nov 2008, 17:34
Skype: d4rkn3ssx
Steam Community ID: Elfinity
Contact:

Re: PHP задачи.

Post by Elven »

Решението ми го пратете на ЛС.
Прочетохте ли го ?
@antipatrul:
Поисках те да се инкрементират т.е. $i++ | ++$i | $i+=1 - само по този начин
@karo:
Ако параметъра е низ от 4 части т.е. "ka r ch o" ?
User avatar
renamed-01
Потребител
Потребител
Posts: 18
Joined: 31 Mar 2010, 17:33

Re: PHP задачи.

Post by renamed-01 »

Пратих ти я, решена както трябва, вече. Не бях забелязал, че се получава така..
User avatar
DMARTO
Потребител
Потребител
Posts: 3
Joined: 08 Nov 2008, 20:15

Re: PHP задачи.

Post by DMARTO »

Пратих ти 1 и 3.
User avatar
SK Telecom T1
Потребител
Потребител
Posts: 106
Joined: 29 Sep 2009, 08:55
Skype: blacktample
CS Nick: Critfame
Favorite version: CS: Global Offensive
Steam Community ID: critfame
Location: Varnawood
Contact:

Re: PHP задачи.

Post by SK Telecom T1 »

Каква ми е грешката в решението, което ти пратих О.о
User avatar
Unnlimited
Unnl!mited GaminG
Unnl!mited GaminG
Posts: 16
Joined: 13 Feb 2012, 16:35
Skype: krisi_pi4a94
CS Nick: RED*RIDERS|MC
Steam Community ID: unnstable
Contact:

Re: PHP задачи.

Post by Unnlimited »

Благодаря много темата ми помогна много :)
//Поздрави
Last edited by NikolayDONG on 06 Jul 2012, 11:55, edited 2 times in total.
Reason: Можеше и без spam в темата! Нарушил си т.7 от правилника!
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

Пратих ти отговорите на ЛС на всички задачи. :)
User avatar
userings
Потребител
Потребител
Posts: 4
Joined: 21 Jun 2011, 12:15

Re: PHP задачи.

Post by userings »

Имаме текстов файл на сървъра, който играе ролята на текстова база данни със записана различна информация в нея, като всеки отделен елемент от информация е отделен със знака |@| !

Примерна текстова база данни :

Code: Select all

43434|@|54545@43434.com|@|127.0.0.1
54324|@|52212@98745.com|@|127.0.0.1
( празна линия на която е показалецът )
Имаме си и страница, която извежда определена информация от текстовата база данни!

Кодът на тази страница е :

Code: Select all

// Отваряме нашата текстова база данни!
$file = fopen("123/123.txt", "r"); 
$number = 0;

while (!feof ($file)) {
	$file_ = fgets($file, 4096); 
	$number++;
	$arr= explode("|@|", $file_);
	
	echo "<b>$number</b>" . '. ' .$arr[0]."<br />";
}
 
fclose ($file);
При всяко записване на дадена информация в тази текстова база данни, то даденият пишещ скрипт добавя и \r\n за нов ред, тъй като се изисква всяко следващо записване да е на нов ред!

Какво става обаче когато изпълним кода по-горе?
Ами броенето се бъгва, като изкарва една празна номерация заради новата празна линия в нашата текстова база данни!

В задачата се пита: Как да премахнем излишното номериране без да видоизменяме коренно структурата на цикъла и като цяло начина на работа на кода?
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

userings wrote:Имаме текстов файл на сървъра, който играе ролята на текстова база данни със записана различна информация в нея, като всеки отделен елемент от информация е отделен със знака |@| !

Примерна текстова база данни :

Code: Select all

43434|@|54545@43434.com|@|127.0.0.1
54324|@|52212@98745.com|@|127.0.0.1
( празна линия на която е показалецът )
Имаме си и страница, която извежда определена информация от текстовата база данни!

Кодът на тази страница е :

Code: Select all

// Отваряме нашата текстова база данни!
$file = fopen("123/123.txt", "r"); 
$number = 0;

while (!feof ($file)) {
	$file_ = fgets($file, 4096); 
	$number++;
	$arr= explode("|@|", $file_);
	
	echo "<b>$number</b>" . '. ' .$arr[0]."<br />";
}
 
fclose ($file);
При всяко записване на дадена информация в тази текстова база данни, то даденият пишещ скрипт добавя и \r\n за нов ред, тъй като се изисква всяко следващо записване да е на нов ред!

Какво става обаче когато изпълним кода по-горе?
Ами броенето се бъгва, като изкарва една празна номерация заради новата празна линия в нашата текстова база данни!

В задачата се пита: Как да премахнем излишното номериране без да видоизменяме коренно структурата на цикъла и като цяло начина на работа на кода?
До колкото разбрах трябва да премахнеш

Code: Select all

<b>$number</b>
Иначе само като погледна кода в този на задачата ми става ясно кой трябва да решава задачи вместо да ги пише.
User avatar
userings
Потребител
Потребител
Posts: 4
Joined: 21 Jun 2011, 12:15

Re: PHP задачи.

Post by userings »

Не, номерацията в случая не е проблема.

Въпросът е как да се избегне излишната празна нова линия, която обърква целият алгоритъм, и той си мисли, че трябва да продължи цикъла. Не може просто да се ореже показването на номерацията, тъй като това нарушава замислената функционалност. Номерацията е нужна.
Задачата не съм я писал като задача. Част е от код с който имах този проблем, и ми се стори интересно. :)
Иначе си прав, че горе-долу съм начинаещ. :wink:
User avatar
sHoRtBG
V.I.P
V.I.P
Posts: 208
Joined: 23 Jul 2010, 15:14
Skype: short.bg
CS Nick: sHoRt
Favorite version: CS: 1.6
Location: Сливен, България | Атина, Гърция

Re: PHP задачи.

Post by sHoRtBG »

Ми направи проверка за дублиращ се <br /> или \n в зависимост как разчиташ скрипта. :)
User avatar
soak
Потребител
Потребител
Posts: 84
Joined: 26 Aug 2007, 19:39
Skype: echo123
CS Nick: soak
Favorite version: CS: 1.6
Contact:

Re: PHP задачи.

Post by soak »

Code: Select all

$file = fopen("123/123.txt", "r"); 
$number = 0;

while (!feof ($file)) {
	$file_ = fgets($file, 4096);
	if($file_[0] != '') {
		$number++;
		$arr= explode("|@|", $file_);
	   
		echo "<b>$number</b>" . '. ' .$arr[0]."<br />";
	}
}
 
fclose ($file);
User avatar
S3x On 7he Beach
Потребител
Потребител
Posts: 2
Joined: 23 Oct 2012, 10:11

Re: PHP задачи.

Post by S3x On 7he Beach »

function _($_,$__){return(($_+(($_/$__)*($_-$_)))>($__-(($__-$__)*($__/$_)))?$_+($__*($_-$_)):$__-($_*($_-$_)));}
Last edited by svenn on 14 Nov 2012, 14:41, edited 1 time in total.
Reason: Безсмислен коментар.
Post Reply

Return to “Уеб програмиране”