Русские самосчёты

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Русские самосчёты » Русский язык программирования: от слов к делу » Поддержка склонений в РЯПе


Поддержка склонений в РЯПе

Сообщений 1 страница 61 из 61

1

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

Используйте [ quote ] [ /quote ], а не [ code ] [ /code ] (без пробелов) — последнее плохо отображает текст, а в первом можно окрашивать слова.
Используйте [ color=цвет ] [ /color ] (без пробелов) для окраски слов.
Служебные (ключевые) слова выделяйте жирным начерком: [ b ] [ /b ] (без пробелов).

0

2

По цветам ещё нужно определиться. Жду предложений.

Например, строки (цепочки знаков) можно окрашивать так:

вывести "Здравствуй, Мир!"

Или так:

вывести "Здравствуй, Мир!"

0

3

Сергей написал(а):

можно окрашивать так:

Простой текст большинством выводится либо чёрным по белому либо белым по чёрному. Подкрашивают "иное", что не является обычным текстом. Например:

<details>
   <summary>Дышу</summary><div>
   <img src="https://vedtver.ru/common/slir/w1000/data/uploads/2016-01/page/59516/lapti2.jpg" alt="Тайги хозяин, гор, лесов, полей и рек..." style="width: 380px;"></div>
<div>
И день за днём из жизни длинной<br>
Вычёркивает календарь,<br>
За мигом миг встают картины<br>
- Недопрожитого... (а жаль).<br>
</div>
</details>

Это помогает "иным программам" отфильтровывать служебный текст от неслужебного даже по расцветке... )))

Отредактировано sandro (15.11.2016 19:49:55)

0

4

Давайте цвет потом где-нибудь в другом месте обсудим.

0

5

// Окулов My6_1;
// Проверка числа, является ли оно перевертышем.

Программа пример_6_1;
Дано:
Число, Оборотень, Тень, Л  - целое;
Начало;
  Написать('Введите целое число, не более 9999:');
  Выдать(новую_линию);   
  Требовать_ввод;
  Прочитать(Число);
  Тени:=Число;
  Оборотню:=0;
  Перебрать Л от 1 до 4:
    Начало;
      Оборотню:=Оборотень*10 + Тень отрез 10;
      Тени:= Тень рез 10;
    Конец;
  Если(Оборотень=Числу) то
      Написать('Число - перевёртышь!')
    иначе
      Написать('Обычное число.')
  Ждать_ввод;
конец.

У меня Форум немного неправильно выводит все спец знаки полужирные.
Описание.
Для ч/б печати:
1)Служебные слова жирные.
2)Литерные символы жирный и курсивом.
3)Обычные слова нежирные.
4)Комментарий прямой.
5)Цифры наклонены и полужирные.
6)Знаки препинания жирные.

Раскраска:
1)Служебные слова в чёрный цвет -  #000000
2)Обычные слова в чёрного цвет - #000000
3)Литерные символы в зелёный цвет - #008000
4)Комментарии в сиреневый цвет - #800080
5)Цифры в оранжевый цвет - #FF8000
6)Знаки препинания в синий цвет - #0000FF

Отредактировано Павиа (15.11.2016 22:51:00)

0

6

MihalNik1

MihalNik1 написал(а):

Давайте цвет потом где-нибудь в другом месте обсудим.

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

Я смотрю вы много пишете про склонения. Так начинайте, излагайте свои идеи и свою прорывную точку зрения.
А то пока, что склонения должны быть - и больше ничего нет. Ну сделаем нечёткое сравнения для РЯП это небольшой модуль и оператор для коррекции ошибок, такой как точка или '::' который разыменовывает пространство если неверно определяется.

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

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

Отредактировано Павиа (15.11.2016 21:57:40)

0

7

Понравилось "Тень, Оборотень"... Да и насчёт "перевёртышей", а также о видах симметрии в двоичном коде надо будет поговорить как-нибудь.
И зачем придумали "палиндром" - какое-то оно неправильное, это словко. Мне оно не нравится... )))
Неопределённая форма глагола - хороший подход, своеобразная "палочка-выручалочка" до тех пор, пока не понадобится иное.

0

8

Как правильнее?
1)
Требовать_ввод;
Ждать_ввод;
2)
Требовать_ввода;
Ждать_ввода.

0

9

Совет непрограммиста выглядел бы так:
"ввод/вывод" - опасные понятия, поскольку для них в теле программы нужно дополнение "откуда/куда".
1. ввод в...
2. вывод из...
Для облегчения задачи достаточно лишь представить, что элементы системы живые и между ними происходят диалоги.
"Требовать" - невозможно до тех пор, пока интеллект машины не окажется на уровне требований, предписаний и прочего "высокоуровневого". Можно "взять" при наличии либо "дать", когда есть куда. Самое короткое - диалог "дай/на" в момент обращения к ресурсу, например:
клава→память: "на слово"
процик→память: "дай слово"
клава→окно: "на символ"
окно→клава: "жду символ" или просто "жду" (упомянутый ресурс выбросит на шину флаг ожидания)))
Хочу "крутой" русский язык - вынужден вначале создать русский "дос". (основанный на русскоязычных диалогах между всеми частями системы + полный и современный русский "биос" + русскоязычные "драйвера" + графику, писанную уже в русскоязычном "дос"-е либо в русском ассемблере)...
- Почему так долго и скурпулёзно? - чтобы дать дорогу тем, кто посчитает мною написанное недостаточно актуальным на его момент времени (например в недалёком будущем) и захочет переписать некоторые моменты, уже не изучая иностранные языки. - Вот такое оно, моё видение проблемы... )))

Отредактировано sandro (16.11.2016 04:04:06)

0

10

На одних диалогах далеко мы непродвинимся. Эта парадигма известна как автоматы или машины конечных состояний. В быту программиста они встречаются редко 1 против 100 функций(инструкций).
Прилагательных тут добавится, но вопросы словообразования останутся.

Я думаю можно писать и с окончанием 'а' и без. Без окончанием будет клавиша 'ввод', с окончанием действие 'ввод'.

Совет непрограммиста выглядел бы так:
"ввод/вывод" - опасные понятия, поскольку для них в теле программы нужно дополнение "откуда/куда".

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

0

11

Павиа написал(а):

Без окончанием будет клавиша 'ввод', с окончанием действие 'ввод'.

- Понял... Относительно меня, как "оператора" - это переброс, пересылка инфы из одной "сущности" в другую (происходит лишь сам факт "миграции" без определения откуда и куда) Это сразу напомнило мне полевой транзистор, в котором я всегда путал и путаю лишь слова "сток/исток" но никогда бы не спутал "эмиттер/коллектор" также как и "анод/катод". - Почему? - Да рисунки у них разные и соответствие слова рисунку запоминается гораздо быстрее и навсегда. В программировании же рисунков нет, значит и требования к словкам строже. Дабы "ассоциативное" мышление не подвело очередного кандидата в программисты... ("особенно перед смертью" - то бишь перед экзаменом)))
"Переброс", что и "миграция" - слова длинные, неудачные. "Взять/дать" - не подходит. "Есть порция/жду порцию"... имею факт/жду факт... имею пакет/жду пакет - мда, надо подумать. А почему бы не просто "делай"? Клавиша enter это не что иное, как "делай".
Делай вдох/делай выдох, или вдохнуть/выдохнуть, делай вне/делай вну

Отредактировано sandro (16.11.2016 10:03:25)

0

12

sandro

Павиа написал(а):

Я думаю можно писать и с окончанием 'а' и без. Без окончанием будет клавиша 'ввод', с окончанием действие 'ввод'.

Поправлю себя сам. Это одно слово и никак иначе. И скорее всего один вариант окончания верный.

"Требовать сигнал ввода". Значит правильно "требовать ввода"
Требовать - что делать? Или что будет делать?
Ждать - что делать? Или что будет делать?
Т.е. у этих фраз один падеж и окончание должно быть одно.

Сигнал: кого чего? Родительный падеж
Событие: какое? Эссив - в русском отсутствует. именительный или винительный

Слово "ввод" в родительном падеже "ввода"  см Ссылка
Слово "ввод" в именительном падеже "ввод "  см Ссылка
Слово "ввод" в винительном падеже "ввод "  см Ссылка

sandro написал(а):

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

Рисунки есть, просто некоторые ленятся их рисовать.

sandro написал(а):

("особенно перед смертью" - то бишь перед экзаменом)))

У меня ещё в школе выработался особый тип памяти. Я быстро запоминал длинные, объемные тексты и тут же их забывал. Видимо от избытка информации программистам приходится строго соблюдать слова. Часто когда мы пишем в духе ООП мы не заглядываем в справку, а додумываем, домысливаем поведения объекта и действия его методов опираясь лишь на одни названия, объектов и методов. Александр, слова мы написали с вами одни, а каждый из нас понял по своему. Всё-таки строгость важна для взаимопонимания.

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

У нас есть слова для сигналов, но нет слов для событий. В английском языке напротив их больше.
Поэтому слово "стартап" мы и они воспринимаем по разному.
-----------------------
Тогда пожалуй стоит проработать РЯП в духе "целеполагающие беседы".

Отредактировано Павиа (16.11.2016 10:58:14)

0

13

MihalNik1 написал(а):

Давайте цвет потом где-нибудь в другом месте обсудим.

Павиа написал(а):

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

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

0

14

Павиа написал(а):

Тени:=Число;
Оборотню:=0;

Павиа написал(а):

В каком склонении следует писать переменную которой присваивают значение?

Я считаю, что в указании присвоения значения названия переменных склонять не нужно, там должен быть строго именительный падеж.
Ведь у нас, например, может быть две переменных Тень и Тени: первая — собственно Тень, а вторая — ряд Теней.
Или переменные Оборотень и Оборотню: с первой всё понятно, а вторая может, например, указывать на наличие или отсутствие какого-либо направленного на Оборотня действия (истина/ложь), в этом случае название переменной отвечает на вопрос «Кому?» или «Чему?»
Я имею ввиду не эту программу, а какую-нибудь другую.
Так что я против склонения в таких случаях.

Павиа написал(а):

Перебрать Л от 1 до 4:

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

Перебрать Сводку от 1 до 4:

Павиа написал(а):

Как правильнее?
1)
Требовать_ввод;
Ждать_ввод;
2)
Требовать_ввода;
Ждать_ввода.

Это уже лучше у знатоков русского языка спрашивать. Думаю, что правильно будет и так, и так. И «Что требовать? — Требовать ввод», и «Чего требовать? — Требовать ввода».
Но это уже не относится к вопросу о склонении названий в исходнике.

0

15

Павиа написал(а):

в русском языке нет отглагольных прилагательных

В русском языке есть отглагольные прилагательные!

Павиа написал(а):

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

Поясните, пожалуйста.

0

16

Как это вообще должно выглядеть? В каких построениях это нужно, а в каких нет?

Уже писалось, что в основном м.б. 2 вида достижения вменяемо читаемых исходников поддержкой падежей:
1. Как написание единицы языка разными способами (например, было в Валентине) на уровне define'a в C без их различения:
- возможны пересечения склонений единственного и множественного числа (потребуется более сложное наименование для мн.ч., если нужны оба), в среде требуется проверка на переопределения (вероятно есть в существующих).
- само по себе не исключает смысловой ошибки истолкования человеком (заблуждение при чтении исходника) при неверно выбранном падеже (требуется проверка).
т.е. неотличимы увеличить(длину, шириной) , увеличить(длиной, ширину),  увеличить(шириной, длину) и  увеличить(ширину, длиной)., что порождает ошибки.
- нельзя заменить падежом порядок слов и необязательность входной переменной.
2. С различием падежей на уровне языка:
+ встроенная проверка склонения при описании вызовов, т.е. частичное соблюдение правил русского языка
+ в вызовах можно передавать и опускать переменные в любом порядке
- потребуется поддержка на уровне языка и/или среды
- вид слова в некоторых падежах всё равно может пересекаться, т.е. потребуется общий способ разрешения неоднозначностей
+- переменные, не являющиеся склоняемыми словами (например, буквы) могут потребовать частого указания падежа, либо их следует исключать

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

Тут надо различать, идёт ли речь об исполнимом или только целевом виде исходника.

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

Это несколько разные задачи - проверка правил еще не означает поддержки склонения. Если сделать её в первую очередь, то работать всё равно будет почти невозможно.

А что-бы её создать надо все правила расписать.

Они давно расписаны

В каком склонении следует писать переменную которой присваивают значение?

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

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

Зависит от того, в каких случаях и для чего он используется, а где-то лучше не использовать вообще.

Как правильнее?
1)
Требовать_ввод;
Ждать_ввод;
2)
Требовать_ввода;
Ждать_ввода.

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

0

17

MihalNik1 написал(а):

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

А как иначе? Пока не попробуешь не узнаешь.

MihalNik1 написал(а):

+- переменные, не являющиеся склоняемыми словами (например, буквы) могут потребовать частого указания падежа, либо их следует исключать

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

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

0

18

Ведь у нас, например, может быть две переменных Тень и Тени: первая — собственно Тень, а вторая — ряд Теней.

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

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

К, Л, М, Н - это счётчики такие как i,j,k,m.
Они нужны для рядов и рядниц чтобы описать математические алгоритмы.

Рекомендацию по использованию интераторов принимаю, но для описания низов они негодятся. Там нужны простые счётчики и команды. Хотя в глаголе есть бегунок. Можно его взять за основу. Бегунок и прыгунок, нырок (x,y,z - соответсвенно)
И соответсвенно не перебрать, а послать.

Переменые
  отряд - ряд целых;
  Бегунок, посыльный - извозчики целых;
  Держалка - целый;
Начало;
Послать бегунка от 1 до 10 по отряду делать:
   начало;
   Посыльному := бегунка+1;
   Бегунок пишет держалке;
   Посыльный пишет бегунку;
   Держалка пишет посыльному;
   Конец;
Конец;

Отредактировано Павиа (17.11.2016 09:26:45)

0

19

Павиа написал(а):

Тени просклоняются в "присвоить теням".

Не нужно вообще здесь склонять. Использование склонения нужно свести к наименьшему. Оно должно быть лишь там, где человек может споткнуться о неестественность текста.
Уверен, что читая указание присвоения значения вы не произносите про себя «присвоить значение тому-то», а просто образно усваиваете смысл этого указания.
Так что здесь склонение не нужно, я считаю. Поэтому можно утверждать, что склонять нужно только те названия, рядом с которыми есть именно слова, а не просто знаки.

Павиа написал(а):

К, Л, М, Н - это счётчики такие как i,j,k,m.
Они нужны для рядов и рядниц чтобы описать математические алгоритмы.

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

Павиа написал(а):

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

Всё зависит от языка. Если язык будет сверхвысокоуровневым, то такое будет.

Павиа написал(а):

И соответсвенно не перебрать, а послать.

Нелепо как-то выглядит. К чему такая многословность? Проще одним словом: перебрать, обойти и др.

0

20

Сергей

Сергей написал(а):

Нелепо как-то выглядит. К чему такая многословность? Проще одним словом: перебрать, обойти и др.

Сергей написал(а):

Всё зависит от языка. Если язык будет сверхвысокоуровневым, то такое будет.

Вот только нам нужен не сверхвысокоуровневый язык. Нам нужен обобщённый. Тоесть, он должен одинаково хорошо работать на всех уровнях.
Иначе если мы придумаем высокий язык, так что-бы его изготовить нам придётся использовать заграничные языки более низкого уровня. А это какое-то надувательство получится.

Приведите свои примеры как вы собрались упростить. Нам надо связать 3 вещи между собой: ряд, извозчика(бегунка) и предпосылку повторения.
При этом одному ряду могут принадлежать до 3 бегунков алгоритм быстрого преобразования Фурье.
Предпосылки имеют разные ограничения. К примеру при реализации свёртке у меня бывает необходимость перебирать от 2 до длина(ряда)-2
При этом незабываем учитывать общие рекомендации по оптимизации - предпосылки к условию следует выносить из любых циклов.

Фурье сейчас можете не рассматривать. А вот например сортировку слиянием или умножения матриц я бы взглянул.

Отредактировано Павиа (17.11.2016 09:28:56)

0

21

В русском языке много исключений

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

Поэтому порядок будет трудно разбирать.

Трудно для кого?

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

При безразличности к падежам (сп.1) будут возникать ранее указанные ошибки, при различении - двойное указание одного и того же.
Я против любого не ясного порядка перечисления, который нужно заучивать или подсматривать.

этот требует функциональная и процедурные парадигмы.

Они решают свои задачи.

Переменые отряд - ряд целых;
  Бегунок, посыльный - извозчики целых;
  Держалка - целый;
Начало
Послать бегунка от 1 до 10 по отряду делать:
   начало
   бегунок пишет держалке;
   Посыльному := бегунока+1;
   Посылный пишет бегунку;
   Держалка пишет посыльному;
   Конец;

Звучит как служба секретной военной переписки)

Оно должно быть лишь там, где человек может споткнуться о неестественность текста

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

0

22

Сергей

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

Не нужно вообще здесь склонять. Использование склонения нужно свести к наименьшему.

Да :)

0

23

Сергей 15 сообщение

Поясните, пожалуйста

Это трудно пояснить.
У них события происходят от глаголов и ближе к глаголам. А у нас от существительных.
У нас тоже есть отглагольные но их мало:
Хвать - событие.
Бздыньк
Клац - событие.
Хвать за палец -  событие.

Сегодня решил посмотреть слово процесс в викисловаре, его этимологию.

От лат. prōcēssus «продвижение вперёд», далее из procedere «выходить; продвигаться», далее из pro «в, для, за, вместо» + cedere «идти, ступать», восходит к праиндоевр. *ked- «идти, перемещаться».

Так слово  processus происходит от глагола procedere. А у нас нет такого способа образования слов, поэтому в переводе ещё и наречее добавилось - вперёд. Которое происходит от существительного перед.

Отредактировано Павиа (17.11.2016 12:52:33)

0

24

Инженер написал(а):

Да  :)

А что да? Я говорил об отдельно взятом случае, а не вообще.

0

25

Павиа написал(а):

А у нас нет такого способа образования слов, поэтому в переводе ещё и наречее добавилось - вперёд.

Нет, слово продвижение без уточнений означает движение сквозь что-либо именно вперёд.
Поэтому можно проще перевести: продвижение.

0

26

Не нужно вообще здесь склонять. Использование склонения нужно свести к наименьшему. Оно должно быть лишь там, где человек может споткнуться о неестественность текста.
Уверен, что читая указание присвоения значения вы не произносите про себя «присвоить значение тому-то», а просто образно усваиваете смысл этого указания.
Так что здесь склонение не нужно, я считаю. Поэтому можно утверждать, что склонять нужно только те названия, рядом с которыми есть именно слова, а не просто знаки.

Проблема вся из-за неудачности обозначения присвоения, про что тоже писал.
В естественном как-то так:

ширина: 10
длина: 15
охват: (ширина + длина)*2

0

27

Сергей

Сергей написал(а):

Не нужно вообще здесь склонять. Использование склонения нужно свести к наименьшему. Оно должно быть лишь там, где человек может споткнуться о неестественность текста.Уверен, что читая указание присвоения значения вы не произносите про себя «присвоить значение тому-то», а просто образно усваиваете смысл этого указания. Так что здесь склонение не нужно, я считаю. Поэтому можно утверждать , что склонять нужно только те названия, рядом с которыми есть именно слова, а не просто знаки.

- И что с того, что не произношу? Вам знакомо выражение, что пишется не как слышится? В письменной речи используются свои правила.
- А что есть естественность? То что мы читаем и пишем есть искусственный язык и имя его математика.
Первый шаг польская запись. Второй шаг транслятор формул (Фортран). Добавили понятие переменной и понятие присвоение. Но в целом это осталось формулой, а значит математикой. Следующий шагНовым подходом стал ООП который привел нас к литературной форме записи (smalltalk).  А в последствии произошло смешивание парадигм. 
Так вот в школе в нас в вдалбливают математику, формулы поэтому для нас оно естественно. А вот литературные формулы которые сейчас присуще не являются обще известными. Понятие совершенный код МакКонналла в школе не проходят и практически не изучают ООП. Более того для записи в тетради рекомендуют использовать сокращения или обозначения X,Y,Z вместо записи полных слов.

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

Всё ещё жду от вас примеры со счётчиками и бегунками.

MihalNik1
Всё таки у нас не совсем естественный язык. И то что мы не можем проработать сейчас можем отдать на откуп пользователям. Раньше не умели автоматически оптимизировать код оптимизацию делали вручную. Сейчас умеют. А вот автоматически паралелить код не умеем делается это ещё по старинке вручную. Поэтому моё виденье такое
'<=' символ для параллельного присвоения без блокировки.
':=' с блокировкой. Т.е. последовательно.

0

28

'<=' символ для параллельного присвоения без блокировки.
':=' с блокировкой. Т.е. последовательно.

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

0

29

Сергей написал(а):

перебрать, обойти и др.

Перебрать - да, обойти - разночтение. "Обойти стороной одну из подпрограмм, не выполняя её"...

Павиа написал(а):

Так слово  processus происходит от глагола procedere.

Зато есть шаг "исполнить пошагово"... Процедуры и функции - шаги к достижению цели.

Бегунок пишет держалке;
   Посыльный пишет бегунку;
   Держалка пишет посыльному;

1. раздатчик
2. даритель
3. ёмкость, тара, (блок, сумка, сетка, пакет, ячейка - все они - "держалки")))
Есть живые и мёртвые языки. Обновляется язык - в народе, на нём говорящем. "задекларировав" язык - мы омертвляем его изначально.
У языка должна быть свобода развития и он не должен описывать машинные действия напрямую, а лишь "опосредованно", в специально предназначенных на то "коробочках", дабы отделить саму логику (коя у всех и так одинакова) от "языкозависимого" представления о ней.
Однозначное соответствие яыковых форм действию простейших машинных команд - это изначальная ошибка, временный компромисс во взаимодействиях между человеком и машиной, на который вынуждены были пойти ради усовершенствования сего взаимодействия в будущем.
А пока есть всего лишь три самых подходящих соответствия: Это и, или, не, графически обозночаемые как ⋀ ⋁ . Остальное - "от лукавого"...

Отредактировано sandro (18.11.2016 00:58:05)

0

30

Павиа написал(а):

Всё ещё жду от вас примеры со счётчиками и бегунками.

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

Можно так, например:

перебрать запись[начало, конец]: строка
        вывести строку

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

0

31

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

0

32

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

0

33

Сергей
Смысл создавать язык на которым никто не должен писать? Давайте тогда BrainFack возьмем. Там проблем с Русским языком нет. Как раз и надо стремится что-бы каждая домохозяйка должна уметь писать на РЯП. Иначе на нём так и будут писать единицы.

Сергей написал(а):

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

Проще надо "от 1 до 10"  и сразу всем понятно и не надо тут пояснять ничего.   Новичку не придётся заглядывать в справку. Умыслы и домыслы великая вещь и ими стоит умело пользоваться.

Сергей написал(а):

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

Я с вами согласен. Но по правилам русского языка "№" и "10" это слова и они участвуют в спряжении и склонение слов ровна как и другие.

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

Отредактировано Павиа (18.11.2016 20:09:20)

0

34

Сергей написал(а):

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

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

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

Примеры использования:

Переменные
    первый, последний: Целые;
    позицияМин, позицияМакс: Целые;
Начало
    // Сокращение слов
    пер := посл; // первый := последний;
    Мин := Макс; // позицияМин := позицияМакс;

    // Исправление опечаток
    превый := поицияМин; // первый := позицияМин;

    // Склонение слов и вспомогательные слова
    для последнего := позицияМакс; // последний := позицияМакс;
    первому := из первого - значение последнего; // первый := первый - последний;
Конец.

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

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

Примеры использования:

// Единственное и множественное число служебных слов
Переменная элемент: Простой элемент;
Переменные первый, текущий, последний: Указатель на простой элемент;

// Сокращение служебных слов
Константа вид = 1;
Конст вид = 1;

НачалоКонец
НачКон

// Изменение служебных слов
Начало ... Конец
Начать ... Закончить
Начинаю ... Заканчиваю

Если ... Тогда
В случае если ... то
Когда ... выполнить

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

0

35

sandro написал(а):

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

Подростки и сейчас АЯПы изучают. Я с Паскаля подростком начал. Просто с РЯПом было бы намного удобнее, вот и всё.
Естественный язык в программировании совершенно не нужен, да и сделать такой ЯП всё равно не получится, п.ч. там уже целая нейросеть нужна будет для перевода в машинные указания.
И главное: строгость и чёткость ЯП приучает и строго и чётко мыслить. А вот писанина на естественно-подобном ЯП лишь помешает этому.

0

36

Павиа написал(а):

Смысл создавать язык на которым никто не должен писать?

С чего вы это взяли?

Павиа написал(а):

Как раз и надо стремится что-бы каждая домохозяйка должна уметь писать на РЯП.

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

Павиа написал(а):

Но по правилам русского языка "№" и "10"

А при чём тут «№» и «10»? Как они здесь появились?
Мы начали разговор с обсуждения склонения названия переменной в указании присвоения значения. Каким боком здесь «№» и «10»?

0

37

Сергей
Сергей извините, но Вы сами напросился.
Я зарисовал всего две ваших фразы.

Сергей написал(а):

Такой подход позволит, с одной стороны, сделать ЯП, который удобно читать русскому человеку, а с другой — именно программисту, а не любой поварихе.

Сергей написал(а):

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

https://s18.postimg.org/dcmqhywol/image.png

Уверен, что читая указание присвоения значения вы не произносите про себя «присвоить значение тому-то», а просто образно усваиваете смысл этого указания.

Именно что произношу, иначе нельзя правильно просклонять.
'№', '10', ':=', 'β', 'Σ' и т.д. это всё слова. Они склоняются по правилам русского языка. И так как это слова, то и пробел после них тоже ставится.
К примеру правило по § 76, 1956 года. 

Сложные порядковые числительные, если первая часть их написана цифрами, например: 183-миллионный, 5-тысячный.

Порядковые числительные, если они написаны цифрами с грамматическим окончанием, например: 15-й, 127-го.

Специальные термины и наименования, в том числе и аббревиатуры, в состав которых входит отдельная буква алфавита, например β-лучи (бета-лучи), или числительное, написанное цифрами и стоящее на втором месте, например: ТУ–104, но: 4000 М (автопогрузчик с ковшом).

В новой редакции 2006-2007 гг. смотри правило в § 111.

Вот еще из редакции 2006-2007 гг. смотри правило в § 115.

Апострофом отделяются русские окончания и суффиксы от предшествующей части слова, передаваемой латинскими буквами, напр.: Он инструментовал сочиненную летом c-moll'ную увертюру (Берб.); ...французский перевод обоих романов [Ильфа и Петрова], выполненный и аннотированный A. Préchac'ом (из комментария к современному изданию романов); пользоваться E-mail'ом.

Но помимо того, что они сами склоняются они ещё и склоняют слова связанные с ними. Насколько помню в учебнике Розенталя в главе числительные это было. Сейчас уже не найду.

Отредактировано Павиа (19.11.2016 11:08:12)

0

38

Павиа написал(а):

Тогда пожалуй стоит проработать РЯП в духе "целеполагающие беседы".

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

Павиа написал(а):

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

Сергей написал(а):

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

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

Описание:
    Программа <Название>;

Примеры:
    Программа Для работы;
    Программа Василию;
    Программа О поиске пути;

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

Отредактировано Инженер (19.11.2016 11:23:17)

0

39

И так как это слова, то и пробел после них тоже ставится.

Придумали новые правила? Только, например, в "-10" минус пишется без пробела после, как и многие другие спецзнаки.

0

40

MihalNik1 написал(а):

Придумали новые правила?

Ничуть не новое https://habrahabr.ru/post/23250/
Даже вот так лучше https://www.artlebedev.ru/izdal/spravoc … umbers.pdf

Отредактировано Павиа (19.11.2016 15:02:08)

0

41

Многие из них спорные, опять же, всё очень зависит от смысла использования.
А в программировании знаки идут часто с другим смыслом, поэтому общие правила бездумно расширять на старые знаки с новыми значениями не стоит.
Отсюда, например, быдлокодерское присваивание "=" во всех Си-подобных языках с вечно быдлокодерскими пробелами по обе стороны (иногда по обе отсутствуют), но не исходным математическим смыслом. Какое там параллельное программирование, если не связывают даже симметричности действий и обозначений? Поэтому для него другие языки.

0

42

MihalNik1 написал(а):

Многие из них спорные, опять же, всё очень зависит от смысла использования.
А в программировании знаки идут часто с другим смыслом, поэтому общие правила бездумно расширять на старые знаки с новыми значениями не стоит.
Отсюда, например, быдлокодерское присваивание "=" во всех Си-подобных языках с вечно быдлокодерскими пробелами по обе стороны (иногда по обе отсутствуют), но не исходным математическим смыслом. Какое там параллельное программирование, если не связывают даже симметричности действий и обозначений? Поэтому для него другие языки.

Прекрасно знаю что и как путают новички. В паскале к примеру ":=" и "=" путают реже. А вот в Си "=" и "=="  постоянно. А в вирилоге путают ":=" и "<=".
Но я считаю, что последнее связанно с тем что нет правильного материала для обучения. Хочу попробовать написать ряд статей, немного приоткрою секрет. В большинстве случаев программисты встречаются с одним видом параллельности. Параллельность по данным, некоторые ещё слышали про параллельность по командам, но никто не слышал о параллельности по времени. Вы можете подумать что я несу чушь, ведь параллельно значит одновременно! Но это далеко не так и в книгах по ОС это описано. Но эти книги никто не читает.

Нельзя делать быстрых шагов, хорошо известна история компьютеров Cray в 1960-1980 гг. эти компьютеры были построены на прорывных технологиях и обогнали своё время. Но и о них быстро забыли. В то время как Intel или IBM повторила в своей архитектуре только в 1990-2000 годах.
Так вот язык надо развивать поэтапно, поэтому новшества в язык надо добавлять постепенно. Возможно надо начать с простого переводчика формул с предмето ориентированной манерой письма как VBA или любой другой скиповый язык. Может быть стоит присмотреться к TCL говорят там какое-то ООП ну просто вау! А вот параллельность добавим чуть позже.

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

0

43

А в вирилоге путают ":=" и "<=".

Следуя ходу обсуждения - как они читаются?

Нельзя делать быстрых шагов, хорошо известна история компьютеров Cray в 1960-1980 гг. эти компьютеры были построены на прорывных технологиях и обогнали своё время. Но и о них быстро забыли. В то время как Intel или IBM повторила в своей архитектуре только в 1990-2000 годах.
Так вот язык надо развивать поэтапно, поэтому новшества в язык надо добавлять постепенно. Возможно надо начать с простого переводчика формул с предмето ориентированной манерой письма как VBA или любой другой скиповый язык.

Некоторые вещи требуют соблюдения минимального порога требований. Эта заведомо не взлетит до выполнения очень большого объёма работы.

Но мне не хватает идеи концертной идеи или лозунга что-бы начать.

Пендель что ли нужен?! :D

0

44

Инженер правильно пишет:

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

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

буду - делаю - сделал(а)
будешь - делаешь - сделал(а)
будем - делаем - сделали

но опять же

разбуди деликатно, подраздел, раздел, но и подраздень, раздень

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

поделю - делю - разделил

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

Отредактировано sandro (20.11.2016 04:55:37)

0

45

Сергей написал(а):

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

Это не должно останавливать.

Если нужна нейросеть, значит надо сделать нейросеть...

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

Отредактировано ВежливыйЛис (20.11.2016 06:12:30)

0

46

Павиа написал(а):

Сергей извините, но Вы сами напросился.
Я зарисовал всего две ваших фразы.

С чего ради я не хочу склонять по правилам русского языка?
Не нужно мне приписывать то, что я не говорил. Я лишь не хочу склонять там, где это не нужно.

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

Вы бы хоть немного пописали на каком-нибудь существующем РЯПе, если ещё не писали, а уже потом ещё раз обдумаете этот вопрос.
Поработайте долгое время с Глаголом, чтобы привыкнуть к нему как к основному своему ЯП, тогда вы начнёте понимать, каким на самом деле должен быть РЯП.

0

47

ВежливыйЛис написал(а):

Это не должно останавливать.

Значит, возьмите и сделайте.

0

48

MihalNik1

MihalNik1 написал(а):

Пендель что ли нужен?!

Мне нужен фантик для конфетки. Типо вот такого http://multiclet.com/docs/MCP_concept_rus_1.pdf
Или в краткой форме: http://www.multiclet.com/index.php/ru/c … rticle/125

MihalNik1 написал(а):

Следуя ходу обсуждения - как они читаются?

':=' читается как 'присвоение',
'<=' читается как 'параллельное присвоение'.

Сергей

Сергей написал(а):

С чего ради я не хочу склонять по правилам русского языка?

Потому, что нельзя ехать на двух поездах одновременно. Либо склоняем везде либо нигде.
Вот что вы предлагаете.
1) В формулах вы не сколете.
2) В объявлениях не нужно. Ну разве что добавить множественное и единственное число.
3) В объектах все слова стоят в одной форме. В позывных функций все стоят в одной форме. Существительные в именительной или родительной в зависимости от того где стоит глагол.
Для глаголов будущее, настоящее или прошедшее время определяет язык. В разных языках будет разное.
4) А остались предпосылки. Но вы там все слова решили выкинуть, а союзы и не склоняются.
Вопрос где тут склонения?

Сергей написал(а):

Сколько ни работал с Глаголом, никогда не парился с отсутствием склонения названия в указании присвоения.

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

Вы бы хоть немного пописали на каком-нибудь существующем РЯПе, если ещё не писали, а уже потом ещё раз обдумаете этот вопрос.

С Русским языком у меня проблемы, но благодаря этой теме я уже разобрался где и как надо склонять. Так что осталось записать грамматику языка и добавить правила для склонений.
По-поводу немного пописать. Примеры я тут приводил в соседних темах и в этой. От вас пока, что видел только 2 строчки с примерами и то их примерами можно назвать с большой натяжкой, так как вторая это описание грамматики, а в первом 'Здравствуй мир'.

Сергей написал(а):

Поработайте долгое время с Глаголом, чтобы привыкнуть к нему как к основному своему ЯП, тогда вы начнёте понимать, каким на самом деле должен быть РЯП.

Глагол отличный язык. Но это не значит, что надо останавливаться на достигнутом.  Я владею с 10-ом языков по году на язык.

Вот кстати и пример
'Я владею с 10-ом языков по году на язык.'
'Я владею с 10 языков по году на язык.'
'Я владею с 10 язык по году на язык.'

Второй вариант терпимы но неверный. Третий вариант точно неправильный Вы с этим согласны? Откуда видно что слово 'язык' тут надо склонять.

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

// Счётчик цифр
// Окулов My7_1;

Программа пример_7_1;
Дано:
Число, Оборотень, Тень, Л  - целое;
Начало;
  Написать('Введите целое число:');
  Выдать(новую_линию); 
  Требовать_ввод;
  Прочитать(Число);
  Тени := число;
  Счётчику := 0;
  Пока (Тень <> 0) выполнять:
    Начало;
      Увеличеть(Счетчик);
      Тени := тень рез 10;
    Конец;
  Написать('В числе %ц - %ц цифр.',[число, счетчик]);
  Ждать_ввод;
конец.

Так вот в зависимости от вывода надо просклонять слово 'цифр'.
'В числе 1 цифра.'
'В числе 2 цифры.'
'В числе 3 цифры.'
'В числе 4 цифры.'
'В числе 5 цифр.'
'В числе 6 цифр.'
'В числе 7 цифр.'
'В числе 8 цифр.'
'В числе 9 цифр.'
'В числе 10 цифр.'

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

Отредактировано Павиа (20.11.2016 12:08:09)

0

49

'<=' читается как 'параллельное присвоение'.

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

Потому, что нельзя ехать на двух поездах одновременно.

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

даже попробовать не хотите просклонять.

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

Так вот в зависимости от вывода надо просклонять слово 'цифр'.
<...>
Как это лучше организовать в РЯП?

Число однозначно определяет падеж.

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

0

50

Для этого нужны средства поддержки. Пока их нет - от спора по поводу определённых склонений в каком-то месте толку мало.

Как раз для создания этих инструментов и надо попробовать просклонять. Попробовали. Получилось. Понравилось - воплощаем в коде.
Выражаясь в терминах UML выполняем поведенческое моделирование.
Во-вторых средства есть тот же снежный ком. А добавить к нему алгоритм по Зелязнику так вообще проблем нет никаких. С учетом того что текущие библиотеки насчитывают около 100 слов. Так что за пару суток написать не составляет проблемы. Постепенно развивая библиотеки будут добавляться новые слова и можно параллельно доделывать алгоритм склонений.

MihalNik1 написал(а):

Число однозначно определяет падеж.

Да. Но проблема-то в другом. Слова не обязательно стоять на дистанции в 0 слов. Во-вторых не всегда надо склонять, даже если это по русски. Так как нам надо общаться с окружающем миром, а там свои правила.
Да и вопрос я ставил иначе. Как лучше указать: где надо просклонять, а где не надо?
Только то что сразу приходит на ум.


'В числе %число% - %счётчик цифр%.'
'В числе %число% - %счётчик% %цифр#%.'
'В числе %число% - %счётчик(цифр).'
'В числе %ц - %ц цифр#.'

Отредактировано Павиа (20.11.2016 22:36:41)

0

51

Павиа написал(а):

'В числе 5 цифр.'

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

Отредактировано sandro (21.11.2016 13:45:28)

0

52

Павиа написал(а):

Мне нужен фантик для конфетки. Типо вот такого http://multiclet.com/docs/MCP_concept_rus_1.pdf
Или в краткой форме: http://www.multiclet.com/index.php/ru/c … rticle/125

©..."идея эта не нова, но не охаяна никем"... /©)))
Когда я упоминал о недостатках 8086 и ему подобных, (вкупе с их стёками, переносами, переадресациями, регистрами, а также буфером или аккумулятором), то это и имел в виду. Но хотелось рассмотреть это не как "мультиклеточность", а как непрерывную "карусель" событий... У карусели ещё больше возможностей, чем у вышеупомянутых мультиклетках. Идея всё ещё находится в стадии написания, но боюсь, что процесс написания и доработок тоже выльется в бесконечность, поэтому придётся наверное выбрать вариант "бесконечного редактирования" опубликованного материала, чтобы была возможность параллельного обсуждения и внесения бесконечных правок в "динамике"... (как вы на это смотрите и где лучше публиковать; у себя в блоге или прямо на форуме?)))

Отредактировано sandro (21.11.2016 15:01:16)

0

53

sandro
Обсудить лучше здесь . А результаты можно и в блоге описать.
Поначалу от карусели я тоже был в восторге. Но потом понимаешь, что в карусель надо заносить данные и выводить. А это энергопотребление.
Более энерго эффективно потоковые процессоры(DSP, нейронные,  ещё на букву Ф их называли).
А второй существенный недостаток это такты! Карусель должна вращаться, а следовательно пропускать такты.  И далее тут мы приходим к VLIW или к системе с переворачиванием команд.

0

54

Павиа написал(а):

Как лучше указать: где надо просклонять, а где не надо?

Можно сделать библиотеку, в которой описать функции для поддержки русского языка, тогда достаточно применить специальную функцию, чтобы она преобразовала текст согласно правилам:

Программа Печать числа;
Библиотека Правила русского языка;
Переменная число: Целое;
Приступить
    Ввести(число);
    Напечатать(«Всего [число] цифр»); // Всего 2 цифр
    Напечатать(Правильно(«Всего [число] цифр»)); // Всего 2 цифры
Завершить.

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

Отредактировано Инженер (29.11.2016 11:44:24)

0

55

Напечатать(Правильно(«Всего [число] цифр»)); // Всего 2 цифры

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

0

56

MihalNik1 написал(а):

поэтому Глагол как бы есть, а библиотек к нему - ни черта нет

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

0

57

Павиа написал(а):

// Счётчик цифр
// Окулов My7_1;

Программа пример_7_1;
Дано:
Число, Оборотень, Тень, Л  - целое;
Начало;
  Написать('Введите целое число:');
  Выдать(новую_линию); 
  Требовать_ввод;
  Прочитать(Число);
  Тени := число;
  Счётчику := 0;
  Пока (Тень <> 0) выполнять:
    Начало;
      Увеличеть(Счетчик);
      Тени := тень рез 10;
    Конец;
  Написать('В числе %ц - %ц цифр.',[число, счетчик]);
  Ждать_ввод;
конец.

Вот у вас в подчёркнутой строке с толку сбивает склонённое слово. Будто бы название переменной — во множественном числе.
Поэтому ещё раз высказываюсь против склонения названий в указании присвоения.

0

58

Павиа написал(а):

На данный момент это запредельно сложно, только яндекс и промт владеют подобным.

Вроде бы еще «Лаборатория Павиа» занимается такими разработками :)

0

59

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

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

0

60

Например, 1С состоит чуть менее чем полностью из калек, но за то куча возможностей от чужих плюшек, а свои собственные всего лишь библиотеки и конфигурации под бух. учёт.

0

61

Павиа написал(а):

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

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

И пара морфологических баз для русского языка:
Автоматическая Обработка Текста
Компьютерная грамматика русского языка

0

Быстрый ответ

Напишите ваше сообщение и нажмите «Отправить»



Вы здесь » Русские самосчёты » Русский язык программирования: от слов к делу » Поддержка склонений в РЯПе