Вход

Просмотр полной версии : Алгоритмы


Nirva
22.08.2003, 03:16
Вот взять хотя бы тот же си, си приплюснутый, паскаль, обджект паскаль (дельфя) - куча сайтов по алгоритмам, а вот по пхп - лишь кода да статьи. Да, это конечно полезно и интересно рыться в чужом коде, особенно если сделан толково и понятно, но иногда хочется еще видеть и алгоритмы решения задач, и их реализацию. Поискал я поискал, нашел чего-то там на народе бестолковое и некультурное. Ничего стоящего. Может знает кто, пользуется. Одно дело когда говорят:
пишешь вот такую-то функцию, параметры вот такие-то, а можно клас такой-то, странно, то ли привычка, то ли еще что, но мне гораздо интересней работать с алгоритмами, а потом уже смотреть на реализацию. Код - дело одно, алгоритмы - совсем другое. Читаешь вот - проверяешь то, отправляешься туда-то, при том-то это. и ведь алгоритмы на одну задачу тоже разные бывают, но иногда достаточно, и даже необходимо видеть сам алгоритм, а не код.

вот. хелп, а?

metton
30.08.2003, 00:25
2Nirva
ИМХО, ты не совсем понимаешь, что такое алгоритм... Нет алгоритмов на языке. Алгоритм - это псоледовательность действий, поэтому, описав его чётко на естественном языке, ты можешь использовать его в любом языке программирования (естественно, если на этом языке можно реализовать каждое из последовательности действий).

Nirva
30.08.2003, 13:09
я прекрасно это понимаю. только задачи ставятся разные, правда? там - алгоитмы в основном мат функций итд - или прикажешь на сайте паскалевых алгоритмов искать реализацию чата? Вот. Поэтому даже в псевдокоде пиши для интерпритатируемых и для компилируемых - глобальные отличия.

чат это я так, просто что первое на ум пришло. еще есть много специфический действий. ну и правда - не будешь же ты писать в си на псевдокоде:
if ($_SESSION содержит (извини, не знаю где такой значок на клаве) $a)....
{
...
}

metton
30.08.2003, 16:33
Повторяю, нет "паскалевых", "сишных", etc алгоритмов!
Чем тебе Паскаль не угодил? http://pascal.sources.ru/network/index.htm

Nirva
30.08.2003, 19:15
ага.
если человек не хочет понять, он не поймет. алгоритмы все пишутся для чего-то, понимаешь? и в любом случае к чему-то привязываются. и если их записывать псевдо-кодом, то они будут разные.

например:
напиши пожалуйста алгоритм "я хочу выпить кофе" началом его считай ты проснулся и напиши алгоритм "существует ли такой набор значений переменных в массиве с псевдослучайным числом эле-в в пределах..."

пойми АЛГОРИТМЫ РАЗНЫЕ и я говорю не о слове "АЛГОРИТМ", тем более не выдумываю языковую конструкцию "алгоритм для си". и не связываю, и еще раз тебе говорю - алгоритмы ставятся для ращных задач? понял? отлично. в си - одни задачи, в пхп -другие. И, думаю, ты не будешь пытаться реализовать фотшоп на пхп, и верд тоже и текстуризацию 3д объектов. использовать директ икс и так далее. Я говорю о СПЕЦИАЛЬНОНАПРАВЛЕННЫХ алгоритмах. если так можно выразиться, а не о том, как поменять местами две целочисленных переменных не используя третью.

metton
30.08.2003, 22:06
Советский энциклопедический словарь:

Алгоритм (алгорифм) (от algorithmi, algorithmus, первонач - лат транслитерация имени математика аль-Хорезми), - способ(програама) решения вычислит и др задач, точно предписывающий, как и в каой последовательности получить результат, однозначно определяемый исходными данными. А. - одно из основных понятий математики и кибернетики. В вычислит технике для описания А. используют языки программирования.


Может, тебе ещё из Кнута привести определение, чтобы пробить твою упёртость, мля?..

kompadre
30.08.2003, 22:53
Кнутом его !

Самурай
30.08.2003, 23:42
давайте не будем сорится а просто посмеемся =)

metton
31.08.2003, 02:05
2Pejone
Точно!
Тем более в Кнуте слишком много по этому поводу написано, чтобы приводить здесь. Лучше самому почитать.

Самурай
31.08.2003, 02:10
На том и порешим =)

kompadre
31.08.2003, 02:50
:)

nagash
31.08.2003, 03:46
пишу чтобы подписаться на продолжение темы...

metton
31.08.2003, 04:19
2nagash
Кнопочка, знаете ли, есть специальная ;)

Nirva
31.08.2003, 15:21
Да, резковато получилось. Опять ты к словам придераешься.
Ну, придирайся. А еще можно сходить на сайт по прграммированию на паскале, там обычно есть раздел "алгоритмы", а еще о! вспомнил вещь - на сайт, адрес не помню, я по нему курсовик писал, "алгоритмы сжатия данных" называются.
Так вот. Я говорю не о алгоритмах вввооообще а о алгоритмах определения задач, и давай представим, есть три сайта:
1. Программирование на C
2. Программирования на C++
3. Пронраммирование на Pascal
4. Программирование на ObjectPascal (Delphi)

и на каждом из них есть раздел алгоритмы. и добавим пятый сайт - WEB-программирование.
что будет в этих разделах? одни ли и те же вещи? НЕТ! потому как алгоритм в таком описании принимает значение не только там из книг, цитаты из которых ты приводил, но и более направленные, суженные понятия. И на таких сайтах ты не будешь видеть алгоритмы из набора (внимание! выражаюсь!) "низкоуровневой" математики. Надеюсь, ты меня понял. Так в алгоритмах на C ты найдешь уйму описаний и способов (разложенных в виде алгоритма) по сортировке, !!!с учетом возможностей языка, каких не найдешь в алгоритмах вебязыков - у нас есть немало стандартных функций сортирвки, на с++ читая алгоритмы, например тексутризации ты будешь встречаться даже с ОПИСАНИЕМ ОБЪЕКТОВ, которых ни в си ни в паскале вообще не существует. в разделе на сайте паскаля ты опять же найдешь алгоритмы для работы со строками. вот.

потому как я спрашиваю о алгоритмых (опять выражаюсь!) "высокоуровневых", то есть ориентированных на способности языка.

(!хвастаюсь) А еще у меня пятерка по консруированию и анализу алгоритмов. Вот. И "языковые" алгоритмы тоже существуют. Например алгоритм как ояпть же поменять два значения переменных местами. В математике все просто и понятно. А описание действий (именно его - последовательное описание действий назовут алгоритмом) с точки зрения работы с железом (ассемблер) - выглядет будет отнюдь не как простая математика.

фух.. я курить хочу. потом еще выскажусь. Итак, отличие нашего разговора:
1. Я говорю о "высокоуровневых" привязанных к принципам и методам языка решениях задач.
2. Ты говоришь о математическом определении алгоритма. Об Алгоритмах, такие какие они есть. Зато вспомнил первый курс, программирование светофоров. крута.

Самурай
31.08.2003, 16:00
Оригинал написал(а) Nirva
Да, резковато получилось. Опять ты к словам придераешься.
Ну, придирайся. А еще можно сходить на сайт по прграммированию на паскале, там обычно есть раздел "алгоритмы", а еще о! вспомнил вещь - на сайт, адрес не помню, я по нему курсовик писал, "алгоритмы сжатия данных" называются.

алгоритмы бывают разные =)

Оригинал написал(а) Nirva

Так вот. Я говорю не о алгоритмах вввооообще а о алгоритмах определения задач, и давай представим, есть три сайта:
1. Программирование на C
2. Программирования на C++
3. Пронраммирование на Pascal
4. Программирование на ObjectPascal (Delphi)

и на каждом из них есть раздел алгоритмы. и добавим пятый сайт - WEB-программирование.
что будет в этих разделах? одни ли и те же вещи? НЕТ!


Я не придлбуюсь но тут четыре сайта, а веб програмирование засунь в... все данные языки могут использоватся в веб програмировании... есть прицинденты использования паскаля и обджект паскаля в вебе. почитай болка bolk.exler.ru у него было пару заметок на эту тему. А веб програмирование? что ж ты забыл про TCL, Coldfusion, PERL, Python, JSP and more related stuff?


Оригинал написал(а) Nirva

потому как алгоритм в таком описании принимает значение не только там из книг, цитаты из которых ты приводил, но и более направленные, суженные понятия. И на таких сайтах ты не будешь видеть алгоритмы из набора (внимание! выражаюсь!) "низкоуровневой" математики. Надеюсь, ты меня понял. Так в алгоритмах на C ты найдешь уйму описаний и способов (разложенных в виде алгоритма) по сортировке, !!!с учетом возможностей языка, каких не найдешь в алгоритмах вебязыков - у нас есть немало стандартных функций сортирвки, на с++ читая алгоритмы, например тексутризации ты будешь встречаться даже с ОПИСАНИЕМ ОБЪЕКТОВ, которых ни в си ни в паскале вообще не существует. в разделе на сайте паскаля ты опять же найдешь алгоритмы для работы со строками. вот.

потому как я спрашиваю о алгоритмых (опять выражаюсь!) "высокоуровневых", то есть ориентированных на способности языка.

алгоритм есть алгоритм... а накаком языке ты сможешь его воспроизвести програмно это твои проблемы!

Оригинал написал(а) Nirva

(!хвастаюсь) А еще у меня пятерка по консруированию и анализу алгоритмов. Вот. И "языковые" алгоритмы тоже существуют. Например алгоритм как ояпть же поменять два значения переменных местами. В математике все просто и понятно. А описание действий (именно его - последовательное описание действий назовут алгоритмом) с точки зрения работы с железом (ассемблер) - выглядет будет отнюдь не как простая математика.

фух.. я курить хочу. потом еще выскажусь. Итак, отличие нашего разговора:
1. Я говорю о "высокоуровневых" привязанных к принципам и методам языка решениях задач.
2. Ты говоришь о математическом определении алгоритма. Об Алгоритмах, такие какие они есть. Зато вспомнил первый курс, программирование светофоров. крута.

Как человек который не раз отвечал на твои вопросы в асе - скаже просто НЕ ВЕРЮ!

Nirva
31.08.2003, 17:50
неа.
ну вот ну как... ну не могу я вам обяъснить. потому как пижон продолжает прдираться к словам и даже последню фразу игнорировал. сдаюсь. пусть будет по вашему. клянусь вот лень искать. и что привязанные... (больше не буду это слово употреблять) пошаговые нелинейные описания реализации ... задач существуют и абсолютно разные.http://smilies.sofrayt.com/1/950/cleverman.gif