2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Математизация программы
Сообщение01.03.2013, 00:08 


28/12/09
167
Пишу статью в ВАК. Написал очень красивую программу, но, ясное дело, в статью не вставишь.
Как бы премудро ее описать? Есть ли какие-либо формальные методы?
Чтобы глаз радовало?

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 00:17 


28/11/11
2884
Просто пишете, что она реализует из статьи. И даёте ссылку на программу в интернете. По-хорошему у журнала должны быть supplementary files.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 13:10 


28/12/09
167
Не, мне надо именно так.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 13:18 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск

(Оффтоп)

b322730 в сообщении #689358 писал(а):
Пишу статью в ВАК. Написал очень красивую программу, но, ясное дело, в статью не вставишь.
Как бы премудро ее описать? Есть ли какие-либо формальные методы?
Чтобы глаз радовало?

ПОНЕДЕЛЬНИК
канал 1
.........................
.........................

канал 2
.........................
.........................


ВТОРНИК
...........................

Можно сначала привести программу передач на все дни недели для первого канала, затем для второго и т.д. Но это будет менее удобно, на мой взгляд.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 14:36 


28/12/09
167
Речь идет о программной системе.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 14:38 
Заслуженный участник


27/04/09
28128

(Оффтоп)

Но шутка хорошая. :mrgreen:

b322730 в сообщении #689358 писал(а):
Как бы премудро ее описать?
Лучше как раз не премудро. Лучше попроще: представьте, что у вас есть язык, где все «простые» операции реализованы заранее. Например, пересечение множеств — в том смысле, что не надо описывать, как множества хранятся (если это не входит в идею алгоритма) и что делается с их представлениями, чтобы получить представление пересечения; стоит просто написать $A \cap B$.

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

Например, посмотрите, как Дональд Кнут в первом томе «Искусства программирования» описывает алгоритм Евклида (он самый первый встречающийся). Да и другие алгоритмы…

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 18:09 


28/12/09
167
Там идет довольно хитрая работа со структурами данных Java.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 18:47 
Заслуженный участник


27/04/09
28128
Непонятно, что означает «довольно хитрая». Перенесите нужные элементы из Java — как такое?

А если там всё слишком языкозависимо, то лучше кода ничего нет.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 19:37 
Заслуженный участник


11/05/08
32166
Я совершенно не понимаю, о чём конкретно речь, но сказал бы так. Надо просто изложить литературным языком основные идеи, заложенные в программе, не отвлекаясь на технические детали. Вы ведь всё равно свой код как-то документируете хотя бы для себя лично, не так ли?... Ну т.е. вставляете хоть какой-то минимальный набор комментариев -- просто для того, чтоб назавтра понять, что сочинялось накануне?... -- ну так просто и приведите те комментарии к удобоваримой форме.

Тривиальный пример. Сочиняем программу сортировки так, чтобы она была абсолютно надёжна, в то время как её эффективность нас совершенно не волнует за совершенной некритичностью (мне почему он пришёл в голову -- потому что многократно приходится сочинять, ибо проще накатать три строчки заново, чем вспоминать, где они уже были набиты). Тогда лирическое описание может выглядеть примерно так.

"Проходим массив слева направо, меняя местами каждую пару элементов, если они стоят в неправильном порядке. Повторяем процесс до тех пор, пока не встретится ни одной неправильной пары."

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 20:09 


28/12/09
167
В том то и дело, что вместо слов нужны формулы.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 20:16 
Заслуженный участник


27/04/09
28128
Это ведь пример. Формулы — это же то самое математическое, чем они помешают? Нужны — пишите. (И посмотрите книгу Кнута тоже.) :|

(Нужно совсем без единого слова? А читателей не жалко?)

 Профиль  
                  
 
 Re: Математизация программы
Сообщение01.03.2013, 20:22 
Заслуженный участник


11/05/08
32166
b322730 в сообщении #689656 писал(а):
В том то и дело, что вместо слов нужны формулы.

Тогда надо просто добавить формулы к лирическому описанию. Обойдясь по возможности минимумом формул -- лишь теми, которые абсолютно необходимы для понимания смысла алгоритма.

Вообще непонятно, о чём Вы спрашиваете. Это же общая проблема -- написать типо "абстракт" так, чтоб из него была понятна идея статьи и при этом чтоб он не зашкаливал за несколько строчек. При чём тут конкретно программирование-то?...

 Профиль  
                  
 
 Re: Математизация программы
Сообщение02.03.2013, 13:25 


28/12/09
167
Вы -- математики, поэтому я к Вам и обратился.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение02.03.2013, 14:54 


17/12/12
91
Вот например: http://arxiv.org/pdf/1301.5804v1
а вот псевдокод http://arxiv.org/pdf/1212.1909v1

Ну или классика в Д. Э. Кнут: Искусство Программирования (например, 3й том)
Сначала идут математика, потом последовательность действий и/или условные выкладки в псевдокоде, потом - может собственно программа.

 Профиль  
                  
 
 Re: Математизация программы
Сообщение02.03.2013, 21:36 


28/12/09
167
Благодарю. Хочу еще.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group