![]() |
![]() |
||||
![]() | |||||
![]() |
![]() АЛГОРИТМЫ Новости Рассылка новостей Форум AlgoPascal Редактор блок-схем Статьи О сайте Контакты |
![]() |
![]() СодержаниеИстория сайтаСтруктура сайта Благодарности Для желающих помочь сайту История сайтаБиблиотека алгоритмов появилась на свет 14 августа 1999 года. Целью проекта является создание коллекции реализаций алгоритмов на разных языках программирования. Проект является некоммерческим и держится исключительно на энтузиазме авторов и тех посетителей библиотеки, которые вносят свой вклад в её развитие. Отчасти из-за математического образования авторов, отчасти по другим причинам сайт в основном хранит реализации математических алгоритмов, хотя есть и алгоритмы из других областей программирования. Первоначально этот проект вел только Владимир Быстрицкий, благодаря которому сайт к 2001 году набрал более полутора сотен различных алгоритмов. Примерно в это же время проект стал впадать в спячку - обновления стали происходить всё реже из-за нехватки свободного времени у автора, пока не затихли совсем. Тем временем общение на форуме продолжало идти и я (Сергей Бочканов) сам не заметил, как стал обсуждать с Владимиром планы дальнейшего развития сайта :) Некоторое время планы так и оставались планами, затем постепенно они стали претворяться в жизнь. Что получилось из этого, вы сейчас узнаете. Структура сайтаИтак, о структуре сайта. Первоначально сайт хранил реализации алгоритмов в виде блок-схем - файлов специального формата, читаемых программой 'Редактор блок-схем', написанной Владимиром. По идее, это должно было сделать реализации алгоритмов независимыми от языка программирования. Такой подход позволял вручную перевести блок-схему на любой требуемый язык программирования. К сожалению, автоматический перевод был только на Pascal, крайне ограниченый по возможностям и требующий ручной доработки кода. А хотелось большего - полноценного удобного автоматического перевода на как можно большее количество языков. Решением этой проблемы стало создание мной языка AlgoPascal (алгоритмический Pascal). Этот язык представляет собой диалект обычного Pascal, включающий в себя только общие для большинства языков программирования синтаксические элементы. На AlgoPascal удобно писать математические программы и программы на этом языке легко переводятся компьютером (без помощи человека) на другие языки программирования. Очень удобным для посетителей является то, что для использования алгоритмов с сайта не требуется знание AlgoPascal или скачивание с сайта программы-транслятора - трансляцию осуществляет программа, работающая на сайте. На странице алгоритма расположены его описание, исходник на AlgoPascal и ссылки на исходники на других языках программирования. Перед осуществлением трансляции полезно изучить исходник на AlgoPascal, так как он содержит комментарии, не сохраняющиеся при трансляции. Затем выбирается ссылка, позволяющая осуществить перевод на нужный язык программирования. Скажем, при выборе ссылки "С++" на сайте запускается программа-транслятор, которая выдает по запросу пользователя исходный текст реализации на С++. Весь процесс трансляции скрыт от пользователя и можно подумать, что библиотека и в самом деле хранит по одной реализации алгоритма для каждого языка. БлагодарностиВо-первых, хочется поблагодарить команду проекта MANUAL.RU за предоставленный бесплатный хостинг и, что не менее ценно, за гигантское количество времени, потраченного на помощь в работе над проектом. Даже не представляю, что бы я делал без них. Во-вторых, хочется поблагодарить всех, кто внес свой вклад в развитие библиотеки, прислав статью с алгоритмом:
Для желающих помочь сайтуКак уже упоминалось, сайт развивается не только за счет труда авторов, но и за счет помощи посетителей, желающих внести свой вклад в его развитие. Скажем, человеку надо решить вычислительную задачу. Он пишет программу для её решения и получает результат. Затем остается исходник, который обычно хранится в архиве на всякий случай. Но можно поделиться этим исходником с другими людьми, выложив его в интернет. В чем преимущества выкладывания исходного кода в библиотеке алгоритмов? (Сейчас будет самореклама :) ). Во-первых, благодаря автопереводу результатом Вашего труда смогут воспользоваться программисты на самых разных языках - аудитория увеличится в несколько раз. Во-вторых, на специализированном сайте его будет легче найти, чем на одной из персональных страниц или в одной из коллекций исходников общего назначения. Ну а в-третьих, некоторая реклама - помимо копирайта в библиотеке могут быть указаны ссылки на Вашу персональную страницу/сайт. Связаться со мной можно через веб-форму. Во избежание недоразумений:
|
![]() |
|
|
![]() |