DRAKON.SU

Текущее время: Пятница, 29 Март, 2024 05:37

Часовой пояс: UTC + 3 часа




Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 215 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 05 Ноябрь, 2012 10:18 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
http://www.avrorasystems.com/235/016012001004/1/
Цитата:
Психология автоматного программирования

Б.П. Кузнецов, к.т.н.
Журнал "BYTE / Россия" - 2000, № 11.
boris@actor.ru

        Статья предназначается программистам, работающим в среде C/C++, желающим ознакомиться с автоматным программированием, которое предполагает использование аппарата конечных автоматов. Данный подход требует определенных психологических усилий. Однако после его освоения возникает вопрос: как я мог программировать иначе? Автоматное программирование позволяет решать практически любые сложные циклические задачи с минимальными затратами на отладку. Приводятся абстрактный и конкретный примеры с листингом на языке программирования C, доступные, в том числе, начинающим программистам.

Наиболее важными вехами последних 15–20 лет в создании программ на языках высокого уровня являются методологии структурного [1] и объектно- ориентированного программирования [6]. Параллельно с ними сравнительно давно используется метод "автоматного" программирования. Этот метод назван так потому, что в основу проектирования программы закладывается алгоритм - конечный автомат в виде диаграммы состояний, или таблицы последовательных переходов и выходов [2].

Долгое время в русскоязычной литературе по программированию, за исключением руководств по проектированию компиляторов (например, [3]) и ряда мало известных публикаций по программной реализации конечных автоматов в логическом управлении (например, [4]), методология автоматного программирования задач разнообразного назначения замалчивалась.

Тем временем, на Западе эта методология активно развивалась, в первую очередь Харелом (например, [5]). Диаграммы состояний (как основа автоматного подхода к реализации различных задач, решаемых программным путем), вошли неотъемлемой частью в основные принципы объектно- ориентированного программирования [6]. Кроме того, такие диаграммы входят и в стандарт UML [7]. Но по этим книгам даже опытному программисту трудно перешагнуть некий психологический барьер для перехода на автоматное программирование.

Предпосылки написания статьи

Теорию автоматов преподают не везде. В технических ВУЗах преподают эту теорию применительно к синтезу цифровой аппаратуры, но не применительно к программированию (Такие выводы сделаны моим коллегой Шалыто А.А. для ведущих Питерских ВУЗов).

По специальностям, связанным с программированием, теория автоматов преподается либо абстрактно, либо применительно к задачам распознавания языковых конструкций, и только на основе табличной интерпретации. В итоге, выпускник современного ВУЗа не способен использовать конечные автоматы для широкого круга задач.

Когда-то я работал руководителем очень большой группы программистов и пытался внедрить "в массы" использование автоматов в программах различного назначения. Ничего не вышло. Только один - двое могли усвоить лишь некоторые мои программы, но самостоятельно решать подобные задачи не могли. Лишь теперь набран необходимый материал для широкого распространения метода автоматного программирования в задачах циклической природы различного назначения.

Табличная программная интерпретация конечного автомата использовалась мною с 1975 по 1992 годы. То есть до тех пор, пока не появилась книга [12], где вместо таблицы предложено использовать оператор switch-case (Примерно в то же время, этот оператор предложил использовать наш сотрудник Кондратьев, что привело впоследствии к выходу в свет книги [9], посвященной задачам логического управления).

Основной недостаток использования таблицы состоит в том, что абсолютно все буквы входного алфавита необходимо вычислять до входа в таблицу, или до вычисления нового состояния и выхода по таблице. Хорошо, если буквам входного алфавита соответствуют сигналы от клавиатуры или синтаксические единицы распознаваемого текста. В противном случае следует вычислять для каждой упомянутой буквы соответствующее логическое выражение, да к тому же, предварять такое вычисление некоторыми действиями по модификации аргументов этих выражений. Это не всегда возможно совместить без порчи указанных аргументов.

Помимо этого, для реализации действия на переходе требуется переключатель switch(идентификатор_действия). И такая программа начисто теряет смысл и наглядность. Поэтому она никому кроме автора не понятна.

Абсолютно нигде в современной литературе не указывается явно тот факт, что программа, реализующая граф (таблицу) переходов, должна быть циклической. Пока я этого не понял, никому ничего объяснить было нельзя. Рисуя граф переходов, мы с Вами заведомо полагаем, что подразумевается цикл, который на этом рисунке нигде не фигурирует. Поэтому большинству программистов и непонятно ничего

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

Автору этой статьи повезло: в ВУЗе нам читали лекции по теории автоматов, в том числе методику перехода от блок-схем (граф-схем) алгоритмов к графу переходов конечного автомата. С тех пор я твердо усвоил: практически любой алгоритм, включающий цикл (циклы) реализуется конечным автоматом.

Почти во всех своих программах мне было очень удобно использовать конечные автоматы, причем такие программы почти никогда не требовали отладки. В [8] автором предложены автоматы со скрытыми переходами, расширяющие область применения конечных автоматов в программировании. Далее до 1998 г. автор не публиковал свои результаты в области автоматного программирования, ошибочно полагая, что этот вопрос в программировании давно решен.

Однако, как показала публикация [9] моего коллеги, даже в такой, казалось бы заезженной области, программной реализации алгоритмов логического управления, использование автоматного подхода является в нашей державе нонсенсом. Что уж говорить об автоматной реализации обычных циклических программ!

Общие понятия

Перейдем непосредственно к рассмотрению автоматного программирования на основе конструкции while-switch-case. При этом, вместо принятой терминологии, предлагается более понятная массовому читателю – программисту.

В работе [10, с. 168-177] рассматривается задача преобразования циклического алгоритма, представленного традиционной блок-схемой с условными и операторными вершинами, в диаграмму состояний или граф переходов конечного автомата . Задача решается для произвольного циклического алгоритма.

Это основной психологический момент рассматриваемого вопроса, а именно: произвольный циклический алгоритм можно задать в виде графа переходов конечного автомата. Обратная задача – преобразование графа переходов в традиционную блок-схему рассматривается в [4, c. 39–42].

Основной особенностью программной реализации конечных автоматов является обязательное наличие цикла, объемлющего код собственно реализации автомата. В литературе этот принципиальный момент опускается, делая невозможным понимание практического использования автоматных программ.

В отличие от традиционных алгоритмов, включающих два вида компонент: условие и действие, конечный автомат включает дополнительно состояния. Не будем описывать известные положения теории автоматов, с которыми можно ознакомиться, например в [11, 9, 10]. Вместо этого станем рассматривать практические аспекты создания автоматных алгоритмов и программ, в том числе на простом примере.

Вначале представим в общем виде автоматный алгоритм, пример которого изображен на рис. 1.

Прежде всего, обратим внимание на рамку, имитирующую цикловую природу реализации автомата. В частности, вверху явно указан оператор "while(cycle)", где "cycle" – признак продолжения цикла, который перед передачей управления оператору while должен быть установлен в ненулевое значение. Итак, автомат реализуется программной конструкцией на Си:

static char state = ‘A’;

int cycle = 1;
while (cycle)

{ тело_автомата ;
}

где state и тело_автомата подлежат дальнейшему рассмотрению.

Для понимания автоматной программы следует ввести определения: состояние, локальное событие, переход, модификация, действие на переходе. Наиболее сложным для восприятия конечных автоматов является понятие "состояние". Однако начнем с определения "локальное событие".

Локальным событием в автоматной программе будем считать положительный результат (не нулевое значение) вычисления некоторого логического выражения. Если логических выражений в программе более одного, то каждому из них ставится в соответствие свое локальное событие.

Логическим выражением считается произвольная одноименная конструкция языка программирования C, в том числе: булева формула, выражение с операторами сравнения (аргументами которых могут быть и целочисленные функции). Локальное событие будем обозначать символом Хij и отождествлять с буквой входного алфавита конечного автомата.

В общем случае, состояние чего – либо, например, воды (жидкость, твердое – лед, газообразное – пар), не требует пояснений. Отметим, что та же вода в жидком состоянии "ожидает" наступления "события" (повышения температуры выше 100 град. или понижения температуры ниже 0 град.) для перехода в другое состояние. Если ни одно из этих двух событий не произошло, то вода остается в прежнем своем (жидком) состоянии.

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

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

Если локальное событие наступило, то к следующему проходу цикла программа переходит в новое состояние (к другому фрагменту), где должны ожидаться другие локальные события.

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

Другими словами: состояние автоматной программы – это зацикливание на одном и том же фрагменте программы до наступления локального события.

Автоматная программа имеет несколько состояний, для обозначения которых отводится специальная символьная переменная – "state". Обязательно наличие начального состояния, обозначаемого, например, символом 'A'.

Переход в автоматной программе есть переход от текущего состояния, например, 'B', в новое состояние, например, 'C', при наступлении локального события XBC, приписанного к состоянию 'B'. При этом переменная состояния state = 'B' изменяется на state = 'C'.

Каждый переход сопровождается действием на переходе. Это означает, что при наступлении локального события нужно не только изменить переменную state, но и выполнить некоторую последовательность операторов, в том числе функций, и эта последовательность должна подготовить функционирование автоматной программы в новом состоянии.

Автоматная программа в каждом проходе цикла "while(cycle)" должна изменять значения аргументов вычисляемых логических выражений. В обеспечение этого каждое состояние должно иметь операторы модификации указанных аргументов.

Теперь рассмотрим абстрактный пример автоматной программы. Внутри прямоугольника – цикла на рис. 1 показан граф переходов (диаграмма состояний) некоторого автомата.

Прямоугольниками, обозначенными буквами A – D, указаны вершины графа, обозначающие его четыре (в данном примере) состояния.

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

Например, если автомат реализует анализ массива (файла), то модификация означает переход к очередному элементу массива (к очередной записи файла). В начальном состоянии модификация не производится. Модификация на рис. 1 обозначена символом Z с индексом соответствующего состояния.

Состояния реализуются оператором switch(state) – case [12, 9]. Например, программа для автомата (рис. 1) имеет следующую конструкцию:

static char state = 'A';
int cycle = 1;
while(cycle)
{
switch(state)
{
case 'A':
состояние A пока_не_рассматриваем;
break;
case 'B':
состояние B пока_не_рассматриваем;
break;
case 'C':
состояние C пока_не_рассматриваем;
break;
case 'D':
состояние D пока_не_рассматриваем;
break;
}
}

Переходы между состояниями обозначены на рис. 1 стрелками. Переходы помечены дробью: локальное событие Х / действие на переходе Y. За обозначением локального события сокрыто соответствующее логическое выражение.

Отметим обязательное правило: анализируемые логические выражения (условия), прописанные в одном и том же состоянии, должны быть обязательно ортогональны, что означает невозможность появления одновременно двух и более локальных событий.

Локальные события, или логические условия, на рис. 1 обозначены символом Х с двумя индексами, первый из которых обозначает текущее состояние, а второй – состояние, в которое должна перейти программа в следующем цикле при наступлении данного локального события.

Локальному событию взаимно однозначно соответствует переход из текущего состояния в другое состояние. Если ни одно из вычисляемых в данном состоянии локальное событие не наступило, то сохраняется текущее состояние, и этому соответствует логическое условие, отрицающее любое из локальных событий – условий переходов в другие состояния (смотри "петли" - дуги, исходящие и заходящие в одну и ту же вершину - у вершин B, C, D на рис. 1).

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

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

Отдельно, через запятую, указаны операторы вида "cycle = 0", что означает конец циклической обработки. При этом направление перехода всегда к начальной вершине, она же является и заключительной для обеспечения корректного повторного использования данной подпрограммы – автомата.

Отметим, что правильная программа – автомат должна содержать переходы из любой вершины в начальную с указанным оператором обнуления переменной cycle во избежание зацикливания в одном состоянии. (В рассмотренном примере в состоянии С возможно зацикливание).

При первом обращении к автоматной подпрограмме, она находится в начальном состоянии, в котором не ожидается ни одно локальное событие. При этом осуществляется безусловный переход в состояние 'B' и выполняется действие YAB на этом переходе.

После данных пояснений приведем частично программу, реализующую автомат (рис. 1):

static char state = 'A';
int cycle = 1;
while(cycle)
{
switch(state)
{
case 'A':
оператор YAB;
state = 'B';
break;

case 'B':
оператор ZB;
if(XBA)
{
оператор YBA;
cycle = 0;
state = 'A';
}
else if(XBC)
{
оператор YBC;
state = 'C';
}
else // if ( ! ( XBA || XBC ) == 1 )
{
оператор YBB;
// state = 'B';
}
break;

case 'C':
состояние C не_рассматриваем;
break;

case 'D':
состояние D не_рассматриваем;
break;
}
}

Конкретный пример

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

Задача ставится следующим образом. Даны два массива. Каждый из них содержит последовательность неповторяющихся чисел, завершающуюся нулем. Второй массив содержит ту же, что и в первом, последовательность, но включает вставки из чисел, отсутствующих в первом массиве. Например:

М1 = 2 4 5 7 8 9 12 13 0

М2 = 2 4 5 21 23 24 7 8 9 12 13 0

(подчеркнута вставка).

Программа должна сравнить два массива и напечатать встречающиеся вставки. Для упрощения полагаем, что точно известно: какой из двух массивов содержит вставки.

Данная задача имеет практический интерес, например, для выявления различий в исходных текстах программ, с заменой операций сравнения чисел операциями сравнения строк текстов. (Удаления и замены мы намеренно не рассматриваем, чтобы не перегружать пример.)

Массивы обозначим m1 и m2, а номера их элементов, соответственно, s1 и s2.

Программу будем реализовывать как подпрограмму с единственным циклом while, управляемым переменной cycle. После вызова подпрограммы устанавливаем переменную cycle в единицу и входим в цикл while(cycle), где и сосредоточены все операторы.

Задачу будем решать последовательным добавлением вершин графа переходов. На рис. 2 показан первый шаг такого построения, где в объемлющем прямоугольнике, изображающем цикл while(cycle), показано начальное состояние А программы, связанное переходами с неуказанными пока локальными событиями и действиями на переходе с прямоугольником, обозначенным знаком вопроса, и отождествляемого с неизвестными пока состояниями.

Очевидно, по крайней мере одно действие на переходе (возврате) из неизвестных состояний в начальное, а именно: cycle = 0 – в обеспечение завершения программного цикла while(cycle) и выхода из программы. Итак, наша программа вошла в начальное состояние и в следующем проходе цикла переходит в новое, пока не известное, состояние.

Выполним второй шаг (рис. 3), то есть добавим новое состояние В. В этом состоянии будем сравнивать элементы двух массивов.

Очевидно, что, пока последовательности совпадают сравниваемые элементы равны. Поэтому состояние В назовем состоянием ожидания вставки, или неравенства очередных элементов массивов.

В этом состоянии будет модификация – приращение номеров элементов массивов на единицу (s1++; s2++; - см. прямоугольник В на рис. 3), ). В обеспечение первой такой модификации зададим начальное значение s1 = s2 = -1, которое и установим на переходе из начального состояния 'А' в состояние 'В'. Модификация в состоянии В выполняется на каждом проходе цикла.

В состоянии В будем сравнивать элементы m1[s1] и m2[s2] и ожидать их неравенства после очередной модификации. В случае неравенства (локальное событие m1[s1] != m2[s2]) перейдем в неизвестное пока состояние (прямоугольник, отмеченный на рис. 3), знаком вопроса) с одновременным запоминанием (действием на этом переходе) текущих номеров элементов массивов в дополнительных переменных (c1 = s1; c2 = s2;) – см.рис. 3),

Но в состоянии В нас ожидают сюрпризы в виде окончания последовательностей массивов (m1[s1] == 0 и m2[s2] == 0). Эти случаи обозначены на рис. 3), соответственно, EM1 и EM2.

Когда достигнут конец второго массива (EM2, или m2[s2] == 0) – надо сообщить об ошибке и выйти из подпрограммы. Для этого вводится переход из состояния В в состояние А по локальному событию ЕМ2 с действием на переходе РRD и cycle = 0 рис. 3), , где PRD – печать сообщения об ошибке.

Если оба очередных элемента массивов – нулевые (локальное событие ЕМ1 & EM2), то программа переходит в состояние В с действием корректного завершения (cycle = 0;), что и показано на второй дуге из В в А на рис. 3), .

Таким образом, в состоянии В выбираем очередную пару элементов сравниваемых массивов и ожидаем одно из трех локальных событий:

1. EM2 & !EM1
2. EM1 & EM2
3. m1[s1] != m2[s2]).

По каждому из этих событий осуществляется переход из состояния В либо в состояние А (по событиям 1 и 2) либо пока в неизвестное состояние (по событию 3). Если ни одно из этих событий не случилось в текущем цикле, то программа остается в состоянии В и в следующем цикле, что на рис. 3), отображается дугой из В в В, отмеченной тильдой (нет события) и прочерком вместо действия.

Здесь рекомендуется заглянуть в листинг 1, где проектируемая подпрограмма носит имя collation, имеет конструкцию while-switch-case. Состояние А и переход из него соответствует оператору case 'A', состояние В и переходы из него по рассмотренным локальным событиям – оператору case 'B'. Листинг 2 содержит пример вызывающей программы с несколькими вариантами второго массива.

Теперь определимся со следующим состоянием, которое обозначим как С (рис. 4). Переход из состояния В в состояние С мы уже рассмотрели.

Задачей состояния С является сопоставление элемента m1[c1] (элемента первого массива, не совпавшего с элементом второго массива) с элементами, следующими за элементом m2[c2], и ожидание локального события при равенстве сравниваемых элементов, свидетельствующего о завершении вставки. Таким образом, модификация в состоянии С заключается в единичном приращении номера с2 элемента второго массива.

Основное ожидаемое в состоянии С локальное событие – равенство элементов вида m1[c1] == m2[c2]. По этому событию выполняется переход – возврат в состояние В с реализацией действия в виде вызова подпрограммы INS вывода на экран обнаруженной вставки и присваивания s2 = c2 в обеспечение дальнейшей правильной модификации в состоянии В (см. дугу из С в В на рис. 4).

Другим локальным событием является конец последовательности второго массива, то есть ЕМ2 (m2[c2] == 0). По этому событию совершаем переход в начальное состояние А с действием на переходе в виде вызова подпрограммы INS и оператора корректного завершения программы – выхода из цикла – cycle = 0 (см. дугу из С в А нарис. 4).

Если при очередном проходе цикла в состоянии С модификация не приводит к рассмотренным двум локальным событиям, то программа сохраняет состояние С и в следующем цикле. Это показано на рис. 4 как дуга из С в С, отмеченная тильдой (нет локальных событий) и прочерком (вместо действия на переходе из С в С).

Теперь читатель должен быть готов к полному анализу листинга 1 и сопоставлению его с рис. 4, иллюстрирующим готовый программный автомат, решающий поставленную задачу.

Программист может набрать тексты по листингам 1 и 2, например, в MS VC++ или Borland C++, в качестве MSDOS приложения.

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

Предлагаю пробовать применение автоматного программирования и для других задач. Следует иметь в виду, что цикл – понятие более широкое, нежели использование операторов while и for.

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

Автор статьи готов откликнуться на возникающие проблемы. Любые вопросы и предложения прошу направлять по адресу: boris@actor.ru

Литература

1. Шнейдерман Б. Психология программирования. М.: Радио и связь. 1984.

2. Байцер Б. Архитектура вычислительных комплексов. Том 1. М.:
Мир. – 1974.

3. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и
компиляции. В 2-х томах. М.: Мир. – 1978.

4. Срибнер Л.А. Программируемые устройства автоматики. К.: Технiка. 1982.

5. Harel D. Statecharts: A Visual Formalism for Complex Systems. Science of
Computer Programming. 1987. Vol. 8, P. 231 – 274.

6. Буч Г. Объектно-ориентированный анализ и проектирование с примерами
приложений на С++. М.: "Изд-во Бином", СПб: "Невский диалект". – 1998.

7. Буч Г., Рамбо Д., Джекобсон А. Язык UML. Руководство пользователя.
М.: ДМК. – 2000.

8. Кузнецов Б.П. Стандартная реализация управляющих программ
// Судостроительная промышленность. Сер. Системы автоматизированного
проектирования – 1986. с. 51 – 55.

9. Шалыто А.А. SWITCH-технология. Алгоритмизация и программирование
задач логического управления. СПб.: Наука. – 1998.

10. Баранов С.И. Синтез микропрограммных автоматов. Л.: Энергия. – 1979.

11. Кузнецов О.П., Адельсон-Вельский Г.М. Дискретная математика для
инженера. М.: Энергоатомиздат. – 1988.

12. Джамп Д. AutoCAD. Программирование. М.: Радио и связь. – 1992.

http://www.avrorasystems.com/235/016012001004/1/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 10 Ноябрь, 2012 19:15 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
usr345 писал(а):
Владислав, вы не могли бы проставить ссылки в разделе "Обоснование и назначение языка". Я там много подправил и удалил.
...
Да вроде те, что вижу, нормальные...
Кстати, хорошо, что теперь есть (в черновике) сравнение с принципами Дейкстры (по сходному образцу с блок-схемами). И то, что по отличию от блок-схем, выглядит интересно. Можно же без "тюремщиков", оказывается... :wink: Ещё бы про мерность со структурностью и формами записи в соответствие с действительностью привести... где они почему-то оказываются независимыми измерениями пространства представлений... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 12 Ноябрь, 2012 13:07 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Насчёт автоматности - добавить-то примеры можно, только придётся как-то обозначить, что при трансляции "силуэтного автомата" в код придётся веточные соединители для структурных языков/стиля кодирования изымать... или заменять на ЯВУ-коммментарии...
Кстати, нас на "птице", видимо, учили нормально... потому что насчёт того, что алгоритмизация автомата основана на цикле, было сразу понятно. Может, ещё потому, что специальность была "железная", и это всё сразу прикладывалось к проектированию УУ процессора... где, как известно, командный цикл имеет место... :) Между прочим, систематически использовались именно граф-схемы и автоматов, и реализаций... на них давалась методика перехода от математического к информатическому... :wink:
В том же, что силуэт - альтернативная форма именно графа переходов автомата - Дмитрий_ВБ, считаю, совершенно прав.

В целом черновик, если взглянуть на него с позиций "за что можно выставить на удаление или на шаблоны" (т.е. далее пишу как бы от лица "пристрастного зрителя", позиция которого не обязана полностью совпадать с моей) :wink:, пока сохраняет следующие уязвимости (возможно, bezik бы ещё что-то добавил и/или усилил :)):

1. Источники по применению в разработке и образовании старые. А действуют ли ещё Распоряжение по НПЦ АП и Примерная программа по информатике от 1996-го года? :) Тем более, что, пройдя по ссылке в НПЦ, нашёл там корпоративный журнал, где вроде интенсивно обсуждаются методы и технологии разработки ПО БЦВК, и за последние годы время от времени упоминается Бисер, но ничего нет о ДРАКОН, ГРАФИТ-ФЛОКС, шампур-методе... это так засекречено?.. или надо исходить из каких-то других ключевых слов (перейду здесь к "от автора" - можно использовать обзор, сделанный здесь: viewtopic.php?p=68891#p68891 - правда, ссылки на страницы с дайджестами номеров устарели - В.Ж.)?..

2. В первых же абзацах остаётся пропаганда единственной из существующих сред, поддерживающих техноязык. О наличии остальных читатель должен догадываться из описаний некоторых рисунков и окончательно узнать лишь из некоторых позиций Разд. 12 (Доп. материалы). Т.е. нарушаются правила нейтральности и нерекламности. Для корректности нужно переформулировать примерно так:
Цитата:
... Существует ряд сред (программ) разработки, поддерживающих ДРАКОН как единственную графическую нотацию или в комплексе с некоторыми другими. Подробности см. в разделе Дополнительные материалы (внутр. ссылка).
- и там уже перечислить все существующие решения - или указать, где можно найти полный список (на самом деле это уже было сделано по замечаниям EvaCat насчёт ВП:Софт - В.Ж.).

3. При формировании корпуса цитат и ссылок недостаточно чётко интерпретируется понятие:
Цитата:
Самостоятельно изданные источники (далее - СИИ)

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

Самостоятельно изданный материал может быть приемлем, если его автор — признанный эксперт в соотносящейся области, которого ранее публиковали надёжные сторонние источники. В любом случае, нужно быть осторожным в использовании таких источников: если рассматриваемая информация действительно стоит передачи, кто-нибудь наверняка уже сделал это.
...
- при обсуждении автор языка сфокусировался на издании книг за свой счёт (чего он, очевидно, не делает), тогда как перечень типов СИИ гораздо шире. И под него попадают многие источники в статье - тогда как по правилам д.б. наоборот - большинство ссылок должно идти на АИ, и лишь при этом условии допустимы также немногочисленные ссылки на СИИ (на самом деле я не исключаю, что ВП-участник, жёстко не приемлющий "раскруток", может занять и позицию пожёстче - ничего из СИИ не д.б. в основном тексте статьи - на этот случай мы с EvaCat обсуждали, что всё же можно включить разумное число ссылок в раздел "Ссылки" - хотя и в этом случае кто-нибудь может оказаться против :) - В.Ж.). Именно в этом смысле говорилось о "подлинности интервики" - не как о фальсификации их содержания, а как об определении предмета статьи, помимо автора языка, преимущественно через СИИ, а не через АИ, независимые от автора языка (а в том, что сам автор - признанный эксперт в этоой области, сомнений нет).

4. в п. "Понимаемость алгоритмов и программ" неясно, как понимать:
Цитата:
основными критериями качества программы являются понимаемость, сопровождаемость и надежность (корректность). Эти критерии не вступают в конфликт, поскольку характеризуют непротиворечивые свойства программы[22]. ...
Главным требованием к визуальному языку ДРАКОН считается улучшение понимаемости графического представления алгоритмов (дракон-схем) для человеческого зрительного восприятия. Все остальные требования считаются менее важными (хотя и не теряют своей значимости).
...
- что, допускается меньшая надёжность (корректность) программ, записанных с применением техноязыка? Вряд ли это так - тогда надо уточнить, что имелось в виду...
Не ясно, зачем п. "Две функции языка ДРАКОН". Из него можно понять, как примерно техноязык используется непрограммистами - но уже неясно, как это увязывается с его применением в качестве ЯП (на самом деле мы знаем, как - но не уверен, что если это описать, то не появятся уже новые претензии :wink: - В.Ж.). К тому же это если и описывать, то кратко и энциклопедично, не как учебник.
В целом здесь следовало бы определить именно назначение ДРАКОНа в программировании и за его пределами, что там общего и что различается.

5. В п. "Двумерное структурное программирование" прослеживается не нейтральная позиция, ряд утверждений вызывает вопросы. Если нотация дракон-схем позволяет выразить всё, что представимо в текстовых нотациях, но более наглядно и с сохранением формальности, то к чему такая жёсткая их критика? Просто указываем, что нужна и такая запись того же содержания, потому что она удобнее в таких-то случаях (напр., для "предметника"). Если дракон-схемы дают возможность выразить что-то сверх представимого в тексте - то надо перечислить, что именно, ссылаясь на положения обосновывающих АИ (здесь м.б. только от автора языка, раз это его идеи, подтверждённые практикой внедрения, допустим, в НПЦ АП). Если же дракон-схемы, напротив, не дают возможности выразить что-то, представимое в тексте - то надо и это прямо указать и опять же со ссылками на АИ (подтверждающие, что это не благие пожелания, а работает на практике и не противоречит теории). Далее, говорится о логическом исчислении как формальной основе графического синтаксиса техноязыка. Однако ранее (см. п.4) указывается, что есть также и текстовый синтаксис. При этом неясно, как от него зависит возможность "трансляции в объектный модуль"? каким правилам он должен подчиняться для этого? Источники, приведённые в следующем п. "Графический и текстовый синтаксис языка ДРАКОН", либо опять от автора языка, либо СИИ (притом и те и другие не говорят о сути вопроса (ссылку на себя я также не исключаю :wink: - на самом деле из моих материалов здесь куда больше пользы принесла бы ссылка на статью в драконсу - В.Ж.)).
В целом существование этого пункта вызывает большие вопросы.
По п. "Понятность дракон-схем" возникает вопрос к этому:
Цитата:
... При этом функция исходного кода программы переходит к дракон-схемам. Это позволит отказаться от текстовых управляющих структур, используемых в языках высокого уровня, и заменить их на управляющую графику ДРАКОНа.
...
- что имеется в виду? Трансляторы будут или не будут работать с текстом?
Вообще весь этот раздел "Особенности" нуждается в доработке. Следует заменить большинство содержания на простое перечисление - что может и чего не может (если такое имеет место) дракон-нотация в сравнении с текстовыми ЯВУ и почему это так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Декабрь, 2012 09:36 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
В Википедии
Цитата:
Текущая версия на 21:05, 14 декабря 2012 (править) (отменить)
Grebenkov (обсуждение | вклад)
(оставлено согласно Википедия:К удалению/28 сентября 2012#ДРАКОН)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 15 Декабрь, 2012 11:56 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Дополнения к сообщению Геннадия Николаевича Тышова.

1. Статья ДРАКОН в Википедии (в новой редакции) восстановлена в своих правах. Все критические шаблоны, висевшие в начале статьи, удалены.

2. Это значит, что статья ДРАКОН начала существовать в Википедии на законных основаниях. Статья полностью удовлетворяет правилам Википедии.

3. Путь к этому был долгим и трудным. Последнюю точку поставил администратор Википедии Гребенков. Гребенков снял со статьи шаблон "К удалению".

4. Процесс переработки статьи ДРАКОН занял почти три месяца (с 28 сентября по 14 декабря 2012 года).

5. Переработка производилась мною под руководством и при непосредственном участии администратора Википедии EvalnCat (EvaCat).

6. В этом сложном процессе участвовали четыре администратора Википедии:

        6.1 Уважаемый администратор Bezik потребовал удалить статью и выставил шаблон "К удалению";

        6.2 Уважаемый администратор EvalnCat по моей просьбе руководил переработкой статьи и в конце работы посоветовал мне объявить об этом:
        Цитата:
        Думаю, что статья достаточно переработана для подведения итога по ней. Я не буду подводить итог самостоятельно, так как принимал непосредственное участие в переработке - это должен сделать незаинтересованный администратор или ПИ. Откладывать сроки дальше смысла нет. --EvaInCat 19:10, 27 ноября 2012 (UTC)

        6.3 После этого я обратился к уважаемому администратору Владимиру Соловьеву с просьбой подвести итог. Он ответил:
        Цитата:
        Когда от работы в арбитражном комитете чуть отдохну, посмотрю.-- Vladimir Solovjev обс 15:48, 2 декабря 2012 (UTC)

        6.4 Соловьев не успел это сделать. Его опередил уважаемый администратор Гребенков, который 14 декабря подвел итог и снял шаблон "К удалению".
        Цитата:
        Итог

        В настоящее время значимость в статье более чем показана, ссылок на независимые источники много. Критических стилистических недостатков и нарушений ВП:НТЗ, оценивая текущее состояние статьи, я не вижу. Оставлено. --aGRa 21:04, 14 декабря 2012 (UTC)


Большое спасибо всем, кто выступал за сохранение статьи ДРАКОН в Википедии и способствовал этому. Особая благодарность активному участнику нашего форума Дмитрию Владимировичу (псевдоним usr345), который предпринял решительные практические действия в самый острый и критический момент развития событий.

ВЫВОДЫ

1. Начиная с 2007 года по настоящее время (2012 год) статья ДРАКОН прошла долгий путь развития. Ее несколько раз удаляли и восстанавливали. Это был период становления статьи.

2. Сегодня детские болезни и трудности роста позади. Статья ДРАКОН стала зрелой и полноценной. В своем нынешнем виде статья соответствует всем требованиям Википедии.

3. Статью, конечно, можно (и нужно) и дальше улучшать. Но это будут уже сравнительно небольшие изменения.

4. Сегодня статья ДРАКОН представлена в Википедии на 7 языках:
          русский
          Asturianu — астурийский
          Ελληνικά — греческий
          English — английский
          Español — испанский
          日本語 — японский
          Norsk (bokmål) — норвежский

5. Главная задача — перевести статью на английский язык. И заменить статью DRAKON в английском разделе Википедии. Это следует делать поэтапно, пункт за пунктом перенося материал из русского раздела в английский.

=============================================

В заключение хочу поздравить всех друзей ДРАКОНа с успехом.
Победа далась нелегко.
Но она одержана.

Битва за Википедию выиграна!!!
Это наша общая победа, дорогие друзья.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 24 Декабрь, 2012 12:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Цитата:
ДРАКОН has been viewed 3716 times in the last 30 days.

http://stats.grok.se/ru/latest/%D0%94%D ... 0%9E%D0%9D

Вчера, 23 декабря 2012 года установлен новый рекорд посещаемости статьи ДРАКОН в русском разделе Википедии.

За один день было 208 посещений.

Это наивысший результат за последние полгода.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 26 Декабрь, 2012 11:44 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Статьи в Википедии по качеству делятся на три статуса:

— обычные,
— хорошие,
— избранные.

Сегодня статья ДРАКОН является обычной, то есть она не имеет статус "Хорошая статья". Тем более, она не имеет статус "Избранная статья".

Моя цель (точнее, пока еще не цель, а всего лишь мечта) — превратить статью ДРАКОН в избранную.

Это чрезвычайно сложная задача. Но попытка не пытка. И я решил попробовать. Смелость города берет.

Конечно, нельзя сразу прыгать в "избранные". Надо начать с малого. В качестве первого шага надо приобрести статус "хорошая статья". Это тоже очень сложная задача.

Прежде всего, надо познакомиться с правилами.

Вот правила Википедия:ХС
(ХС значит Хорошая Статья)

Цитата:
Правила

Данные правила являются основными принципами, выработанными участниками проекта, и должны соблюдаться, если нет серьёзных причин для обратного.

Вместе с тем эти принципы не являются ни догмой, ни исчерпывающим перечнем соображений, рассматриваемых участниками проекта при подведении итогов обсуждений.

Если отклонение от этих принципов в некоторых случаях идёт на пользу проекту и Википедии, то такое отклонение считается не только допустимым, но и желательным.

[править] Требования к статье

Так как речь идёт не об избранных, а о хороших статьях, то все требования к ним имеют более мягкий характер, чем к избранным статьям.

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

Обязательные требования:

1.Если Вы впервые выдвигаете статью на статус хорошей, обязательно пройдите предварительное рецензирование, где это возможно, с привлечением участников соответствующего тематического проекта.

2.Статья должна соответствовать всем требованиям, предъявляемым действующими правилами Википедии (в том числе, её содержимое должно быть нейтральным и не должно содержать оригинальных исследований, недостоверных или непроверяемых сведений).

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

4.Основная тема должна быть раскрыта.

5.В статье должно быть введение, кратко раскрывающее тему статьи (минимум 3—4 строки).

6.Статья должна быть законченной и не содержать откровенно недописанных разделов.

7.В статье должны быть проставлены категории.

8.Если имеются соответствующие статьи в других языковых разделах, в статье должны быть проставлены интервики.

9.Статья, выдвигаемая в хорошие, должна быть относительно стабильной, консенсусной версией, в ней на момент выдвижения и обсуждения не должно вестись войн правок, статья не должна быть защищена во время выдвижения и обсуждения.

10.Объём статьи, определяемый в соответствии с ВП:РС, должен быть не меньше 8 тыс. знаков, что с шаблонами, файлами и таблицами составляет около 30К. Допускаются незначительные (около 3К) отклонения от минимума, если это не влияет на раскрытие темы статьи. В то же время, статья не должна превышать 250 КБ (допускается отклонение не более 25 КБ).

11.Не рекомендуется создавать обширный раздел «Интересные факты», поскольку в хорошей статье подобные факты должны быть интегрированы в основной текст.

12.Статья должна быть вычитана: в ней не должно быть массовых орфографических, пунктуационных и грамматических ошибок.

13.Статья должна быть викифицирована — в том числе с ручной доводкой форматирования текста там, где викификатор ограничен (скобки без пробелов, оторванные кавычки и т. п.).

14.Обязательно наличие сносок со ссылками на авторитетные источники информации.

15.Желательно наличие ссылок на интернет-ресурсы по теме (при отсутствии — обосновать причину на странице обсуждения).

16.Желательно наличие списка литературы по теме статьи (при отсутствии — обосновать причину на странице обсуждения).

17.Оформление библиографии и ссылок должно быть унифицировано (рекомендуется использовать соответствующие шаблоны).

18.Желательно, но не обязательно, наличие одной или нескольких иллюстраций. Все изображения статьи должны обладать ясным лицензионным статусом. Использование Fair-use изображений должно соответствовать ВП:КДИ и быть обоснованным и минимально необходимым. Все файлы в галереях должны обладать самостоятельной энциклопедической ценностью, и не должны дублировать друг друга с точки зрения неспециалиста.

19.В случае номинации статьи, которая входит в область действия какого-то принудительного посредничества, перед выдвижением статьи необходимо, чтобы один из посредников провел её анализ на предмет соответствия требованию нейтральности изложения.

Что может быть недоработанным в статье:

Части обширной темы могут быть не раскрыты или не полностью раскрыты, при условии раскрытия основной темы.

Изображения могут отсутствовать или присутствовать в недостаточном количестве.

Язык может быть не до конца отшлифованным, но не должен содержать очевидных ошибок.

В качестве первого шага я обратился к администратору и бюрократу Владимиру Соловьеву:
Цитата:
ДРАКОН

Уважаемый Владимир!

В настоящее время статья ДРАКОН не имеет замечаний. У меня вопрос. Как Вы считаете, удовлетворяет ли статья ДРАКОН в нынешнем виде требованиям, предъявляемым к хорошей статье? Если да, не могли бы Вы представить ее на присвоение титула хорошей. Если нет, просьба посоветовать, что именно нужно доработать, чтобы улучшить статью до уровня хорошей. Спасибо.

--Владимир Паронджанов 08:03, 26 декабря 2012 (UTC)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 27 Декабрь, 2012 09:34 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 1443
Да, статья существенно лучше, чем год назад. Очевидный минус - ессно, шаблон "не-АИ" вслед за ссылкой на редактор Тышова тут же поставили и на ссылку на редактор Митькина... EvaCat уже говорил, что надо представлять программы по требованиям ВП:СОФТ.
Однако существеннее, что п. 2 ВП:ХС маловероятно считать выполненным в отношении раздела "Особенности". По-прежнему он содержит не-нейтральные утверждения. Притом опирающиеся в большой степени на источники от автора языка. Также в части положений об эргономике не приведены результаты исследований, которые бы подтверждали авторские утверждения. Т.е. отвечали бы, например, на вопросы, поставленные А. Донским: viewtopic.php?p=15413#p15413. Единственный формально независимый от автора источник, где заявлена такая тематика - доклад Окуловой - на поверку не упоминает чего-либо за пределами сказанного в авторских источниках.
Разумеется, точно это можно установить только в рамках Википедии...
Также отмечу, что неясна действенность Примерной программы. Например, мне не представилась возможность использовать её как юридически значимый документ, когда хотел в своё время сделать курс информатики с применением техноязыка...
Ну и ещё. Фраза: "Появилась возможность заменить текстовые управляющие структуры (ключевые слова if, then, else, case, switch, break, while, do, repeat, until, for и т. д.) на управляющую графику, то есть использовать двумерное структурное программирование[62]." в части ссылки на /62/ должна относиться, очевидно, к тому, что в этом источнике вводится термин "двумерное структурное программирование". Ибо что-то ни о какой возможности заменить текст на графику там не говорится... А также в п. 7 чётко обозначено видение назначения дракон-нотации для маршрутов программ (курсив мой): "... оптимальное расширение классической структурной, предназначенное для использования в двумерном визуальном программировании." Напомню, что о существовании двумерного текстового/табличного программирования уже говорилось. Сей факт и практически реализован в среде ДАЛВЯЗ как ЛСП-представление... Кстати, среда не представлена в статье, хотя тоже реализует техноязык... и для целей практических...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 30 Декабрь, 2012 11:49 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
ЧТО ТАКОЕ "ХОРОШАЯ СТАТЬЯ" В ВИКИПЕДИИ?

http://ru.wikipedia.org/w/index.php?dif ... d=51095634

Цитата:
Хорошие статьи — статьи, которые участники Википедии считают одними из лучших статей проекта. Хорошие статьи — статьи, написанные со знанием вопроса и раскрывающие затронутую тему. По тем или иным причинам они (пока ещё) не соответствуют критериям избранных статей, но все желающие могут принять участие в их доработке до уровня избранных.

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

Все хорошие статьи отмечены знаком в верхнем правом углу своей страницы, а также соответствующим шаблоном внизу статьи.

Количество хороших статей в русской Википедии — 1520.

См. также Список хороших статей с датами избрания.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 09 Январь, 2013 21:11 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Американцы не дремлют

1. Вчера 8 января 2012 года я перевел малую толику статьи ДРАКОН в Википедии с русского на английский, то есть внес изменения в статью DRAKON http://en.wikipedia.org/wiki/DRAKON

2. К чему это привело? Ответ очень интересный.

3. Сегодня я измерил число просмотров статьи DRAKON за указанный день, то есть за 8 января 2012 года.

4. Результат поразительный. Число просмотров стремительно взметнулось вверх. И достигло 263 просмотров за один день. http://stats.grok.se/en/latest/DRAKON

5. Это означает, что после моей правки число просмотров статьи DRAKON (за один день) увеличилось почти в 5 раз по сравнению со средним уровнем.

6. Нет никакого сомнения в том, что американцы (и другие англоязычные граждане) внимательно следят за статьей DRAKON.

7. Я намерен и дальше продолжать перевод статьи ДРАКОН на английский язык. К сожалению, у меня очень мало времени; так что перевод будет проходить медленно.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Январь, 2013 19:33 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Владимир Паронджанов писал(а):
Американцы не дремлют
...
6. Нет никакого сомнения в том, что американцы (и другие англоязычные граждане) внимательно следят за статьей DRAKON.
Средний уровень количество просмотров, после дня авторской корректировки, не изменился и равен 70.

8-го числа автор выполнял корректировки, уровень повысился на 193, при этом выполнено 12 сохранений, т.е. на одно сохранение выполнено 15 просмотров. Вероятно, это авторские просмотры выполненные для визуальной оценки результата и выбора места следующего шага изменений.

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

Вероятно, скачек просмотров 8-го числа является результатом активности автора.

http://stats.grok.se/en/latest/DRAKON


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 11 Январь, 2013 21:36 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Геннадий Николаевич, может, Вы и правы.
Хотя мне не очень верится.

8 января я сделал 12 правок. Значит, на мой счет счетчик просмотров записал минимум 12 просмотров. Может быть, я в процессе работы "сгенерировал" не 12 просмотров, а больше. Вполне возможно.

Как подсчитать точное число моих собственных просмотров? Я не знаю. Мне кажется, что вряд ли их было больше 20.

Весь остальной прирост — за счет посетителей, как мне кажется.

В любом случае, можно будет продолжить оценки числа просмотров по мере добавления новых порций перевода в английский вариант.

И в конце концов, думаю, мы — при известном терпении — получим объективную оценку.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 13 Январь, 2013 15:13 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 46
Откуда: Tel-Aviv
По-моему, автору темы стоит обратить внимание на [url=http://ru.wikipedia.org/wiki/Микроблогинг]микроблоги[/url].


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 13 Январь, 2013 16:41 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Роман, правильно ли я понял, что Вы рекомендовали мне прочитать в Википедии статью Микроблогинг?

Я прочитал, но не понял, в чем суть Вашего замечания. Просьба пояснить.
Спасибо


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2013 11:46 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
В английском разделе Википедии на странице обсуждения (Talk) установлены два шаблона:

Цитата:
Information technology portal

This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.

Цитата:
Spaceflight portal

This article is within the scope of WikiProject Spaceflight, a collaborative effort to improve the coverage of spaceflight on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.


Это означает, что за статьей DRAKON наблюдают в четыре глаза:
— специалисты по информационным технологиям
— специалисты по космонавтике.

К сожалению, пока наблюдать не за чем. Статья почти пустая.
Но наблюдение уже установлено.
Думаю, что будут ловить каждое слово.

Повторяю: Перевод русской статьи ДРАКОН на английский — важнейшая задача.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 15 Январь, 2013 21:25 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 46
Откуда: Tel-Aviv
Владимир Паронджанов писал(а):
Роман, правильно ли я понял, что Вы рекомендовали мне прочитать в Википедии статью Микроблогинг?

Я прочитал, но не понял, в чем суть Вашего замечания. Просьба пояснить.
Спасибо
Да. Я предлагаю воспользоваться микроблогингом в качестве средства передачи информации о Драконе в кратком виде, например: "в декабре 2012 сайт drakon.su посетило Х человек", "Собираюсь выпустить книгу примеров внедрения Дракона в повседневной жизни. Подробности на сайте drakon.su" или "Опубликована новая версия Дракон-редактора. [Ссылка]".
Микроблоги хорошо индексируются поисковиками и таким образом можно привлечь дополнительных заинтересованных на тот или иной информационный ресурс.
Заодно и получить опыт выражать свои мысли лаконично (что актуально, особенно для Википедии).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 19 Январь, 2013 20:48 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
СПРАВКА

Если кто-нибудь хочет собрать в Википедии кучу нужной именно вам информации и получить эту "кучу" в виде электронной или печатной книги, то это возможно.
http://ru.wikipedia.org/w/index.php?tit ... n+Language
Цитата:
Создание книги

С помощью книжного мастера вы можете создать книгу, содержащую выбранные вами вики-страницы [то есть страницы Википедии]. Вы сможете экспортировать книги в различные форматы (например, в PDF или ODF) или заказать печатный экземпляр.

Запустить функцию книжного мастера Отменить

Дополнительную информацию см. в справке о книгах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 27 Январь, 2013 10:38 

Зарегистрирован: Воскресенье, 24 Февраль, 2008 15:32
Сообщения: 5846
Откуда: Москва
Уважаемые коллеги!

Важная цель состоит в распространении научной информации о языке ДРАКОН.

Статья ДРАКОН в Википедии — это научная статья, удовлетворяющая строгим требованиям, предъявляемым к научной литературе.

Эта статья может помочь в деле распространения научной информации о языке ДРАКОН.

Каким образом?

Сегодня родственная по тематике статья Блок-схема значительно (в 4 раза) популярнее, чем статья ДРАКОН (если судить по числу просмотров).

Я считаю такую ситуацию ненормальной. Почему? Потому что язык ДРАКОН во всех отношениях превосходит блок-схемы.

Однако многие преподаватели высших и средних учебных заведений Российской Федерации отстали от жизни — в том смысле, что они еще не познакомились с языком ДРАКОН. И поэтому продолжают действовать по старинке, разъясняя учащимся алгоритмические конструкции с помощью блок-схем.

К счастью, (относительно) скоро эта ситуация будет исправлена в пользу ДРАКОНа.

============================================

ПРИЛОЖЕНИЕ. СТАТИСТИЧЕСКИЕ ДАННЫЕ

Число просмотров двух статей Википедии за последние 90 дней (на 27 января 2013 года)

Код:
Статья ДРАКОН          11910 просмотров
Статья Блок-схема      46187 просмотров


ВЫВОДЫ

1. 46187 просмотров статьи "Блок-схема" — это просмотры "украденные" у статьи ДРАКОН.

2. Разумеется, эту цифру (46187) никто сознательно не отнимал у ДРАКОНа.

3. Тем не менее, эта цифра (46187) по праву принадлежит ДРАКОНу. Эти просмотры приписаны статье "Блок-схема" по вине профессорско-преподавательского корпуса России, которые доводят до учащихся устаревшую (и следовательно, ошибочную) информацию.

4. После того, как положение будет исправлено и "украденные голоса" будут возвращены ДРАКОНу, число просмотров статьи ДРАКОН должно увеличиться в 5 раз и достичь 58097 = 11910 + 46187

5. В итоге окончательное число просмотров двух статей примет вид:

Код:
Статья ДРАКОН          58097 просмотров
Статья Блок-схема          0 просмотров

6. Конечно, полного нуля у статьи "Блок-схема" не будет, но ею будут интересоваться только историки науки (специалисты по истории и методологии науки), которые обязаны тщательно изучать когда-то существовавшие, но исчезнувшие из науки понятия, такие как эпициклы Птолемея, флогистон, блок-схемы алгоритмов и программ и т.д.

7. Уточнение к пункту 6. Термин блок-схема не исчезнет. Но содержание его изменится. Прежнее содержание понятия "блок-схема" будет отброшено. И вместо него взято содержание понятия "дракон-схема". Уже сейчас мудрые специалисты говорят:
Цитата:
Дракон-схемы есть не что иное как правильно составленные блок-схемы.


Последний раз редактировалось Владимир Паронджанов Воскресенье, 27 Январь, 2013 12:41, всего редактировалось 7 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 27 Январь, 2013 11:35 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1098
Откуда: Россия, Чебоксары
Владимир Паронджанов писал(а):
В итоге окончательное число просмотров двух статей примет вид:
Статья ДРАКОН 58097 просмотров
Статья Блок-схема 0 просмотров
Вот-вот, об этих "имперских амбициях" я и говорил.
Пожалуй, ещё одно подобное высказывание, и я перенесу свой голос в раздел "Против"...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 27 Январь, 2013 11:52 

Зарегистрирован: Воскресенье, 06 Апрель, 2008 14:43
Сообщения: 1657
Владимир Паронджанов писал(а):
Однако многие преподаватели высших и средних учебных заведений Российской Федерации отстали от жизни — в том смысле, что они еще не познакомились с языком ДРАКОН. И поэтому продолжают действовать по старинке, разъясняя учащимся алгоритмические конструкции с помощью блок-схем.
"Продолжают действовать по старинке" не потому что не познакомились с языком Дракон, а потому что эти люди ограниченные, не желающие что то изменить в сложившемся учебном процессе. Подтверждением этом является контингент преподавателей на настоящем форуме.

В отчасти вина в этом Ваша, Владимир Даниелович, их обманули, так как открыв программу по Информатике от 2000 года, действующую сейчас, они видят в ней отсутствие языка Дракон, при этом авторами программы являются все те же Падалка и Паронджанов что и были авторами программы от 1996 года. Они видят что авторы программы отказались от языка Дракон.

Приношу свои извинения всем, кого возможно обидел.

Сравнить -
http://drakon.su/_media/biblioteka/progr_drakon.pdf - 1996г.
http://dvfu.ru/meteo/intra/Informatika.htm - 2000г.


Последний раз редактировалось ==== Воскресенье, 27 Январь, 2013 12:43, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 215 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10, 11  След.

Часовой пояс: UTC + 3 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


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

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2008-2024, участники конференции «DRAKON.SU», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB