PHP.SU

Программирование на PHP, MySQL и другие веб-технологии PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Пользователи Пользователи


 Страниц (8): « 1 2 3 4 5 6 [7] 8 » 

> Без описания
RomAndry Администратор
Отправлено: 06 Января, 2010 - 10:00:51
Post Id



Мастер


Покинул форум
Сообщений всего: 578
Дата рег-ции: Янв. 2008  






Спасибо, поправил очепятку =)
 
 Top
Ammy
Отправлено: 07 Января, 2010 - 11:57:23
Post Id



Member


Покинул форум
Сообщений всего: 133
Дата рег-ции: Сент. 2009  






PHP и HTTP: Работа с HTML формами : Независимые переключатели

2 ошибки:


Нажмите для увеличения
 
 Top
RomAndry Администратор
Отправлено: 07 Января, 2010 - 21:48:33
Post Id



Мастер


Покинул форум
Сообщений всего: 578
Дата рег-ции: Янв. 2008  






спасибо, сразу по ходу и исправляю =)
 
 Top
mike6
Отправлено: 12 Января, 2010 - 12:05:13
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  






Добрый день,
возник вопрос, почему

PHP:
скопировать код в буфер обмена
  1.  
  2. function faс($n)
  3. {
  4.   return ($n <= 1) ? 1 : $n * faс($n - 1);
  5.   }
  6. echo faс(5);
  7.  


работает как надо,а вот
PHP:
скопировать код в буфер обмена
  1.  
  2. function faс2($z)
  3. {
  4.  
  5. if ($z <= 1) {
  6. echo "1";
  7. } else {
  8. return $z * faс2($z-1);
  9. }
  10.  
  11. }
  12.  
  13. echo faс2(5);
  14.  


Может быть что то упустил. Спасибо.
 
 Top
EuGen Администратор
Отправлено: 12 Января, 2010 - 12:09:59
Post Id



Профессионал


Покинул форум
Сообщений всего: 2556
Дата рег-ции: Июнь 2007  
Откуда: Moscow






Потому что в случае если z<=1 (хотя это не логично - правильнее писать z==1) Вы ничего не возвращаете, а делаете вывод.
 
 Top
mike6
Отправлено: 12 Января, 2010 - 12:36:05
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  






EuGen даже если убрать сравнение, все равно функция на работоспособна. Как я понял функции идентичны, разве что сопосб записи другий. Или не совсем так ?
 
 Top
Champion Супермодератор
Отправлено: 12 Января, 2010 - 12:51:50
Post Id



Эксперт


Покинул форум
Сообщений всего: 3426
Дата рег-ции: Авг. 2008  
Откуда: Москва






mike6, никто не просил убирать сравнение. Тебе написали, что единицу надо вернуть, а не вывести в браузер при этом ничего не возврещая
 
 Top
mike6
Отправлено: 12 Января, 2010 - 16:14:15
Post Id


Новичок


Покинул форум
Сообщений всего: 7
Дата рег-ции: Янв. 2010  






Champion теперь ясно. Спасибо за уроки.
 
 Top
Petro
Отправлено: 07 Апреля, 2010 - 17:20:49
Post Id



Junior Member


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2010  






В уроке №3 не могу понять эти строки Огорчение и как они вообще связаны с остальным кодом.
<?PHP
function fibonacci($num) // $num - номер интересующего нас элемента
{
if ($num < 1) { // номера элемента меньше 1 не существует, заканчиваем функцию
return false;
}
if ($num <= 2) { // если это один из первых элементов, нетрудно увидеть как они определяются
return ($num - 1);
}

// общий случай. Идем от 3го до требуемого номера
$pre_pre = 0; // элемент, скажем так, предпредыдущий.
$current = 1; // текущий

for ($i = 3; $i <= $num; $i++) {
$pre = $current; // бывший текущий становится предыдущим
$current = $pre + $pre_pre; // определяем текущий элемент
$pre_pre = $pre; // бывший предыдущий становится предпредыдущим
}
return $current;

}

/*** Основная часть программы ***/
$n = 5;
echo fibonacci($n); // 0,1,1,2,3 - получается 3
?>
 
 Top
Petro
Отправлено: 07 Апреля, 2010 - 23:03:51
Post Id



Junior Member


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2010  






Методом "тык + поисковик" - разобрался. Фуф.
Теперь не могу понять эту строчку return fib($n - 1, $pre + $pre_pre, $pre);
Что именно в ней делается?

Вот вся программа из урока №3
<?PHP
function fib($n, $pre = 1, $pre_pre = 0)
{
if ($n == 1) return 1;
if ($n < 1) return false;
if ($n == 2)
return $pre;

return fib($n - 1, $pre + $pre_pre, $pre);
}


echo fib(5);
?>
 
 Top
pixtart
Отправлено: 11 Апреля, 2010 - 19:59:09
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2010  






Здравствуйте, еле пробрался через Вашу капчу Улыбка

Есть вопрос по "Урок № 2 - Немного управления."
Там для проверки есть задание

1. Что станет результатом исполнения:

CODE (htmlphp):
скопировать код в буфер обмена
  1. <?PHP
  2. $iData=5;
  3. if($iData%5)
  4. {
  5.   echo($iData>0?"case 1":"case 0");
  6. }
  7. else
  8. {
  9.   echo($iData<0?"case 3":"case 2");
  10. }
  11. ?>


Оператор % - означает целочисленное деление(по модулю), значит $iData будет равна 5/5=1. Правильно? Тогда будет результатом выполнения кода выведено "case 1". Вы же в ответах пишете, что это будет 0, соотв. выведеться в результате "case 2". Почему?

а вобщем спасибо, уроки таким живым языком написаны... Читать не нудно, а пробовать интересноУлыбка
 
 Top
Мелкий
Отправлено: 11 Апреля, 2010 - 20:01:23
Post Id



Мастер


Покинул форум
Сообщений всего: 985
Дата рег-ции: Июль 2009  






pixtart пишет:
Оператор % - означает целочисленное деление(по модулю), значит $iData будет равна 5/5=1. Правильно?

Нет, это остаток от целочисленного деления. 5/5 делится без остатка -> 0.

-----
если я кажусь слишком резким в ответах - то это просто от того, что мне лень тыкать в смайлики =)
 
 Top
pixtart
Отправлено: 12 Апреля, 2010 - 01:55:43
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2010  






спасибо
я понял где не так понялУлыбка
 
 Top
Petro
Отправлено: 14 Апреля, 2010 - 22:02:19
Post Id



Junior Member


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2010  






<?PHP
$dir_hndl = opendir('/usr/home/mydir');
while (false !== ($name = readdir($dir_hndl)))
if ( $name == '..') {
echo 'Parent directory<br>';
continue;
}
elseif ( $name == '.') {
echo 'Current directory<br>';
continue;
}
if ( is_dir($name) ) echo $name.' is a dir<br>';
elseif ( is_file($name) ) echo $name. ' is a filr';
else echo $name. ' что же это может быть?<br> '
}
closedir($dir_hndl)
?>

Повторяю и набираю так же, на что мне выводит
Parse error: syntax error, unexpected '}', expecting ',' or ';' in C:\www\index.php on line 21

Правлю

<?PHP
$dir_hndl = opendir('/usr/home/mydir');
while (false !== ($name = readdir($dir_hndl)))
if ( $name == '..') {
echo 'Parent directory<br>';
continue;
}
elseif ( $name == '.') {
echo 'Current directory<br>';
continue;
}
elseif ( is_dir($name) ) { echo $name.' is a dir<br>'; }
elseif ( is_file($name) ) { echo $name. ' is a filr';}
else { echo $name. ' что же это может быть?<br> '}
#}
closedir($dir_hndl)
?>

выводит
Current directory
Parent directory
cgi is a dir
cgi-bin is a dir
index.php is a filr
perl is a dir
test.txt is a filr
test1.txt is a filr


Вопрос
Как на самом деле дожно быть или как будет правильно?
(Добавление)
Урок №8 http://www.php.su/lessons/?lesson_8
второй пример.
 
 Top
Petro
Отправлено: 15 Апреля, 2010 - 13:21:48
Post Id



Junior Member


Покинул форум
Сообщений всего: 55
Дата рег-ции: Март 2010  






Еще в этом уроке есть вопросы к главе.
так вот, 3-й вопрос

3. Напишите скрипт, считывающий из файла f1.bmp строки, сортирующий их и отсортированный результат запишите в файл f1.mp3.

На сколько я знаю *. bmp это есть картинка. и как картинку (одну картинку) можно сортировать и по чем? текст сортировать можно, цифры, много картинок по названию, а 1-ну, не понимаю.

Обьясните пожалуйста.
 
 Top
Страниц (8): « 1 2 3 4 5 6 [7] 8 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Уроки php »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.




 
Powered by ExBB FM 1.0 RC1. InvisionExBB