About programming :))

Все о программировании под *nix
Аватара пользователя
Aerostar
Неотъемлемая часть форума
Сообщения: 447
Зарегистрирован: 08 фев 2002, 14:47
Откуда: Riga
Контактная информация:

О программировании ;-))

Сообщение Aerostar »

Версия на bc (если кому-нибудь это интересно). Причем, fact(200) тоже работает.

define fact (x) {
 if (x <= 1) return (1);
   return (fact(x-1) * x);
}
Если вы все такие умные - что же вы строем не ходите?

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

php версия от tren

function factorial($a) {
       if($a == 0)
               return 1;
       else
               return $a*factorial($a-1);
}
print factorial(5);



(Отредактировал(а) leikind - 16:42 - 12 Авг., 2002)


(Отредактировал(а) leikind - 20:33 - 12 Авг., 2002)

ab
Маньяк
Сообщения: 198
Зарегистрирован: 28 май 2002, 19:02
Откуда: Espoo, Finland

О программировании ;-))

Сообщение ab »

2ab а в Ruby, что есть оптимизация хвостовой рекурсии?
Есть дополнительный модуль, который занимается оптимизацией http://www.ruby-lang.org/en/raa-list.rh ... ion+Module
Он в том числе оптимизирует и хвостовую рекурсию.
/ AB

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

# python версия от tren
# вместо пробелов обязательно должны быть табуляции
def factorial(a):
  if a == 0:
        return 1
  else:
        return a * factorial(a-1)

print factorial(4)


(Отредактировал(а) leikind - 21:46 - 14 Авг., 2002)

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

А вообще плохой пример для того, чтобы что-то показать. Слишком простой. Да и не интересно никому ;)
Изображение

Аватара пользователя
eof
Маньяк
Сообщения: 180
Зарегистрирован: 05 июл 2002, 12:22
Откуда: minsk.by
Контактная информация:

О программировании ;-))

Сообщение eof »

2leikind
А что там слышно о вашем с А. Боковым проекте?
I hope, bug is not in my head...

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

ну это громко очень названо, прoект.
нехватка времени....
Изображение

Аватара пользователя
Aerostar
Неотъемлемая часть форума
Сообщения: 447
Зарегистрирован: 08 фев 2002, 14:47
Откуда: Riga
Контактная информация:

О программировании ;-))

Сообщение Aerostar »

А что за проект, если не секрет? Случайно, не то, что у тебя на сайте?
Если вы все такие умные - что же вы строем не ходите?

ab
Маньяк
Сообщения: 198
Зарегистрирован: 28 май 2002, 19:02
Откуда: Espoo, Finland

О программировании ;-))

Сообщение ab »

Проект цикла лекций по современным подходам в проектировании объектно-ориентированных систем. В качестве языка демонстраций выбран Ruby.
/ AB

Аватара пользователя
Aerostar
Неотъемлемая часть форума
Сообщения: 447
Зарегистрирован: 08 фев 2002, 14:47
Откуда: Riga
Контактная информация:

О программировании ;-))

Сообщение Aerostar »

!!!
Если вы все такие умные - что же вы строем не ходите?

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

О программировании ;-))

Сообщение Llama »

Звиняй, певый кусок кода можно читать, не напрягая мозги в поиске завалявшегося там perldoc по поводу некоторых особенностей синтаксиса. Красиво, конечно, но не очень удобно если в параллели пишеш еще и на C.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

Уважаемый Незарегистрированный Guest,
если Вы считаете, что искусство программирования заключается в том чтобы уместить в одной строчке кода как можно больше операторов и сделать код как можно менее понятным, то пожалуйте в Obfuscated Perl Contest или как оно там называется.

Кстати, пора выучить что-то еще помимо этого awk-переростка и открыть для себя, что в остальном мире приняты несколько другие идеалы, чем в Перле.
Изображение

Аватара пользователя
Aerostar
Неотъемлемая часть форума
Сообщения: 447
Зарегистрирован: 08 фев 2002, 14:47
Откуда: Riga
Контактная информация:

О программировании ;-))

Сообщение Aerostar »

Народ! Я знаком с большим количеством программистов - и у каждого свой стиль. Так что им теперь-перегрызться друг с другом? Как говорится: "на вкус и цвет...".
А для современных компиляторов - что это:
if(...) {
    return A;
} else {
   return B;
}
Что это:
if(...) {
  return A;
}
return B;
Результат будет один.
Если вы все такие умные - что же вы строем не ходите?

Аватара пользователя
leikind
Неотъемлемая часть форума
Сообщения: 811
Зарегистрирован: 20 июн 2002, 03:02
Откуда: Брюссель
Контактная информация:

О программировании ;-))

Сообщение leikind »

Котик, я прекрасно знаю что ()? :  есть в С.
Однако читабельность подобных конструкций  под вопросом.
Ну а насчет научиться программировать, ты имеешь ввиду употреблять тернарную запись вместо if ? Это и есть уметь программировать? А употребление
if(...) {
  return A;
}
return B;

вместо

if(...) {
    return A;
} else {
   return B;
}

это тоже искусство программирования ? Я потрясен

P.S.
Зарегистрируйся
Изображение

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

О программировании ;-))

Сообщение Llama »

2Guest
Первые два условия, ИМХО, на порядок важнее третьего.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Ответить