Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Обсуждение уроков. [7]

 PHP.SU

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


 Страниц (11): В начало « ... 3 4 5 6 [7] 8 9 10 11 » 

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



Частый посетитель


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


Помог: 6 раз(а)




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



Частый гость


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


Помог: 0 раз(а)




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



Частый посетитель


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


Помог: 6 раз(а)




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


Новичок


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


Помог: 0 раз(а)




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

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


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


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


Помог: 707 раз(а)




Потому что в случае если z<=1 (хотя это не логично - правильнее писать z==1) Вы ничего не возвращаете, а делаете вывод.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
mike6
Отправлено: 12 Января, 2010 - 12:36:05
Post Id


Новичок


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


Помог: 0 раз(а)




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



Активный участник


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


Помог: 57 раз(а)




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


Новичок


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


Помог: 0 раз(а)




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



Гость


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


Помог: 2 раз(а)




В уроке №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



Гость


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


Помог: 2 раз(а)




Методом "тык + поисковик" - разобрался. Фуф.
Теперь не могу понять эту строчку 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  


Помог: 0 раз(а)




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

Есть вопрос по "Урок № 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



Активный участник


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


Помог: 618 раз(а)




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

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


-----
PostgreSQL DBA
 
 Top
pixtart
Отправлено: 12 Апреля, 2010 - 01:55:43
Post Id


Новичок


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


Помог: 0 раз(а)




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



Гость


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


Помог: 2 раз(а)




<?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



Гость


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


Помог: 2 раз(а)




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

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

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

Обьясните пожалуйста.


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


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB