|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.06.2011, 20:18 | #1 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
начинающий
проверьте кто нибудь функцию . Я в учебном курсе получил ДЗ, там дана функция которую нужно проверить и исправить.
данная функция <?php $a = 1; $b = 1; $c = 0; function mysuperfunc() { if ($a + $b > 100) $c = 100; else $c = $a + $b; } mysuperfunc(); echo $c; $a = 2; $b = 34; mysuperfunc(); echo $c; $b = 99; mysuperfunc(); echo $c; ?> вот исправленный вариант <?php function mysu($A,$B,$c) { if ( $A + $B > 100) { echo $c = 100; } else { echo $c = $A + $B; } } mysu (120,34,$c); ?> там в видео есть разбор ДЗ, но все по разному сделано. Например вот так <?php function addition($a,$b,) $c= $a + $b; if ( $c > 100) { echo "сумма чисел $a + $b = $c больше 100 "; } else { echo "меньше 100"; } return; } addition($a,$b,); ?> |
27.06.2011, 21:40 | #2 |
Пользователь
Регистрация: 12.06.2010
Сообщений: 48
|
А что она делать должна? Пишите, пожалуйста, сразу, ато по кривым примерам сложно понять Я просто как-то привык, что функция возвращает значение и в неё надо передавать необходимве параметры...
Код:
Также я бы Вам не советовал называть одинаково внешние переменные и внутренние переменные функции, запутаетесь если будет большой код то есть: Код:
Общий код я бы написал так: Код:
Код:
|
28.06.2011, 10:44 | #3 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
Спасибо за ответ!! НО наверно я не совсем хорошо понимаю логику работы функций(((((
|
28.06.2011, 16:36 | #4 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
dacorp не издевайтесь над новичками, проверяйте свой код.
(если чо, вот его вывод: "ResultCResultCResultC") Русtam остаётся только гадать о предназначении фукции, что вам дали. Пожалуйста, напишите что именно она должна делать. Поправлять что-то, когда не знаешь, что оно должно делать - довольно сложно, а штатные телепаты и экстрасенсы форума, видимо, в отпуске. Но всё равно попробую угадать: функция должна вернуть сумму чисел, если она меньше 100 и 100, если она больше. Так ? Если так, то варианты "починки" функции: Просто, в лоб. Но я бы уволил такого программиста. PHP код:
PHP код:
PHP код:
|
28.06.2011, 18:44 | #5 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
Дело в том что в задание не написано что она должна делать, сказано лишь то что нужно проверить и переделать и задается вопрос ПОНИМАЕТЕ ЛИ ВЫ ЧТО ДЕЛАЕТ ЭТА ФУНКЦИЯ ? Выходит что моя ошибка только в том что я не объявил переменные и не передал их функции ???
|
28.06.2011, 20:31 | #6 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
Да... преподавателей бы таких... Хотя нет - нет. Пускай так. В принципе - готовят к суровым будням фрилансера
Я предполагаю, что делает она скорее всего то, что я и предполагал. - возвращает сумму числел, если сумма не превышает 100 и возвращает 100, если превышает. Ваша ошибка - (скорее всего): Функция (как повелось издревле) - получает энное количество аргументов (или параметров) и возвращает значение (почти всегда). В принципе, как получаемы параметров, так и возвращаемого значения может и не быть, но в таких случаях функция наверняка что-то делает. В данном случае (если ориентироваться на версию про ограниченную 100 сумму) - явно - нужны 2 аргумента, т.е. сами числа, и возвращаемое значение, т.е. результат работы - это число (которое пресловутая сумма или 100) т.е. сначала идёт заголовок функции: some_function - имя функции $a,$b - аргументы function some_function($a,$b) { } потом в тело функции вставляем само действие function some_function($a,$b) { if (($a+$b)>100) $c=$a+b; else $c=100; } потом - добавляем возврат значения function some_function($a,$b) { if (($a+$b)>100) $c=$a+b; else $c=100; return $c; } Теперь, в любом месте программы мы можем вызвать её для своих каких-то конкретных нужд ... echo some_function(5,10); echo "\n"; ... echo some_function(5,100); echo "\n"; ... соответственно на выходе получим 15 /*(5+10<100? -> yep, so $c=10+5=15; return 15*/ 100 /*(5+100<100? -> no, so $c=100; return 100*/ PS: В PHP объявлять переменные не надо. Инициализировать - желательно, объявлять - нет. Функции передавать можно не только переменные, но и просто значения (Обязан отметить, что тут есть исключения, но вы потом сами до них доберётесь, к тому времени всё будет выглядеть гораздо проще, я надеюсь) И ещё у вас была какая-то неточность возможная со скобками... Я в таких случаях предпочитаю добавить лишних скобок вместо того, что бы гадать - в этом конкретном компиляторе этого конкретного языка у меня логический оператор выполнится или арифметический. Последний раз редактировалось graymaster; 28.06.2011 в 20:37. |
28.06.2011, 22:21 | #7 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
Спасибо за токай полный ответ!!! ВЫ НА ПИСЬМЕ ЛУЧШЕ ОБЪЯСНИЛИ )))))))
|
28.06.2011, 22:31 | #8 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
Извините за вопрос graymaster , вы не могли бы написать мне свой icq если он у вас есть , для того что бы была возможность задавать вам вопросы по PHP программированию. Просто спросить не кого , а на форумах ответа приходится ждать долго. ЕСЛИ ВЫ НЕ ПРОТИВ .
|
29.06.2011, 13:01 | #9 |
Форумчанин
Регистрация: 03.05.2011
Сообщений: 158
|
ICQ нет, есть только скайп. skype://argen.wolf
Попросите авторизации, у меня по поводу спама сообщения от незнакомых пользователей отключены напрочь. Но отвечать на вопросы в нём стабильно - не имею возможности (не всегда можно отвлечься от работы) - если вопрос короткий, то не возражаю ответить в скайпе, если ответ нужен достаточно развёрнутый, то лучше форум. Я этот форум (PHP) практически каждый день мониторю, разве что не всегда в пятницу-субботу онлайн - выходные, но бываю время от времени онлайн и в викэнды. |
29.06.2011, 13:27 | #10 |
Пользователь
Регистрация: 27.06.2011
Сообщений: 60
|
хорошо тогда на форуме будет удобнее, и я сразу вопрос хотел задать , на счет того какую книгу лучше использовать для закрепления уроков? книга нужна такая где каждая тема изложена полностью, от А до Я , не важно как она будет построена так как я читать ее не буду от начала до конца просто закреплять пройденное. И еще скажите, можно изучать PHP и параллельно допустим CSS или java или все вместе будет мешать и создавать кашу в голове ?
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Карты - начинающий | Scheres | HTML и CSS | 7 | 22.07.2009 10:30 |
Я - начинающий | Abuhalif | Общие вопросы .NET | 2 | 17.07.2008 05:37 |
Начинающий программист | _Noname_ | Свободное общение | 3 | 03.03.2008 17:48 |