ЧТО ПРЕДСТАВЛЯЕТ СОБОЙ ПРОГРАММА И КАК С НЕЙ РАБОТАТЬ
Кон Виктор Германович    http://kohnvict.narod.ru    kohnvict@yandex.ru    19-12-2025

1.
       Данная программа по своей структуре аналогична системе Линукс, то есть имеет две части: конечное ядро и бесконечную периферию. Ядро представляет собой интерпретатор языка программирования VKACL. Название составлено из первых букв слов (Victor Kohn Advanced Command Language). Периферия -- это программы, написанные на этом языке, Далее будем их называть а-программами. У данной программы возможно большое число модификаций внешнего вида, которые удобно запускать используя разные командные файлы. Интерпретатор языка VKACL написан на языке программирования Java. Для работы с программой в любой системe необходимо иметь на компьютере интерпретатор языка Java (JRE). Годится любая 64-битная версия. Если она не установлена, то ее надо установить, либо просто скачать и записать. Вариант программы вместе с JRE для Виндовс является переносимой программой в системе Виндовс и может работать на флешке. Программу разумно запускать только через командные файлы, так как при этом программа имеет окно и иконку в системной строке. 
       Сама программа может не иметь окна, что может приводить к проблемам в случае ошибок в коде или входных данных. Программа тестировалась в двух ОС: Виндовс и Линукс. В системе Виндовс расширение командных файлов (bat), а в системе Линукс (sh). Данная реализация программы имеет две модификации (версии) внешнего вида. Версия программы, которая запускается кликом файла (_runp), то есть версия П (проигрыватель), сделана таким образом, что она автоматически исполняет a-программу в файле (program.acl) в основной папке программы. В зависимости от того, что там написано, у программы может быть очень много разных вариантов. Вариант a-программы в файле (program.acl), написанный автором дает удобную среду для тех, кто не знает языка VKACL и использует только готовые а-программы. 
       Версия программы, которая запускается кликом файла (_rund), то есть версия Д (девелопер), является более общей и подходит для тех, кто умеет программировать на языке VKACL или хочет научиться это делать. У нее есть собственное окно (среда разработки) с меню, в котором может быть много пунктов. Она тоже способна запускать готовые программы, но можно написать и свои собственные. Более того, она запускает и версию П по горячим клавишам [Alt] + [B]. Ниже описана версия П, то есть вариант, который исполняет готовые программы и не требует программировать.

2.
       В данной реализации версии П автор сделал так, что программа предлагает несколько разных способов работы. Для выбора нужного способа необходимо кликнуть нужную кнопку из набора кнопок, которые условно можно назвать меню. При выборе кнопки [File] программа предлагает пользователю выбрать на компьютере любой файл. После выбора она смотрит на расширение (тип) этого фйла и исполняет его. То есть показывает картинку и видео, или показывает текст в редакторе текстов, все как делает операционная система (ОС). А затем возвращается в исходное состояние.Но есть дополнение. Если файл имеет тип (acl) то она считает, что это  а-программа, то есть файл с кодом на языке VKACL. И она исполняет этот код, чего ОС делать не умеет, а потом снова возвращается в исходное состояние. Если тип файла не известен, то файл показыватся  в редакторе текстов. Пользователь может сам создать файл с кодом VKACL, либо получить его у тех людей, которые умеют писать такой код. Вообще говоря, язык программирования VKACL сделан таким образом, что любая а-программа может быть сколь угодно сложной и может работать хоть целую вечность, потому что она способна исполнять все а-программы, какие есть на компьютере. Но могут быть и очень простые а-программы.
       При выборе кнопки [Index] пользователю предлагается таблица из 99 номеров. Можно выбрать любой номер и тогда исполнится программа с этим номером, написанная автором. В данный момент работают только номера от 1-го до 79-го и 99-й, остальные будут добавлены в будущем. Каждая из таких программ сначала открывает файл в редакторе текстов и показывает возможные варианты входных данных, которые нужно отредактировать так, как это необходимо конкретному пользователю. В этом же файле написано что она делает и как пользоваться программой с данным номером. Все изменения текста сохраняются до следующего изменения. После выполнения программы с выбранным номером все возвращается в исходное состояние и можно повторить выбор. Данные программы также описаны в интернете и с ними можно ознакомиться даже не имея самой программы. Как правило, данные программы выполняют относительно простую работу, которая полезна всем пользователям независимо от их профессии и интересов.
       При выборе кнопки [Demo] пользователю также предлагается таблица из 99 номеров. Но на этот раз все программы с номерами работают автоматически и выполняют тот вариант, который записан в первой строке файла входных данных автором программы. При этом автоматически готовится исходное состояние файловой системы, необходимое для работы, а потом показывается результат выполнения операций, которые данная программа выполняет. Этот режим является как демонстрационным, так и тестирующим. Можно быстро посмотреть программму в работе и убедиться, что в ней нет ошибок. Правда один вариант все ошибки программы выявить не может. Но он дает также образец правильной записи входных данных.
       Так как автор, будучи ученым, писал программу для себя и своих коллег, то есть кнопка запуска таких программ. Они выбираются из отдельного меню. Следует знать, что для работы демо версии, а также научных программ необходимо скачивать дополнительные архивы, ссылки на которые есть на сайте программы.   
       Для выхода из программы есть кнопка [Exit].

3.
       Кроме относительно простых программ с номерами автором написано много более сложных и специальных программ как для решения задач теоретической физики (рентгеновская оптика синхротронного излучения и смежные вопросы), так и на другие темы. Некоторые из этих программ также можно запустить из данного меню. Эти программы автор писал для себя в процессе своей научной работы или по просьбе своих коллег и совторов. Но есть и такие программы которые решают достаточно широкий круг задач и могут быть полезными для студентов. Пока показаны кнопки для 4-х таких программ. 
       XRWP -- это а-программа для моделирования процессов распространения рентгеновского синхротронного излучения (СИ) через разные объекты и в пустом пространстве. Тут моделируются как задачи изображения объектов в прямом пучке, так и задачи по диффракции СИ в кристаллах. 
       CT -- это а-программа компьютерной томографии в общем виде. Метод компьютерной томографии используется в разных областях (медицине, материаловедении, оптике и физике). Данная версия в основном применяется для 3D изображения микрообъектов в СИ. 
       Tiff -- это а-программа для обработки изображений микрообъектов в СИ, получаемых методов фазового контраста, специального раздела оптики СИ. 
       DiffPar -- это а-программа для вычисления параметров дифракции СИ в кристаллах. 
       Все эти программы используются для решения очень конкретных задач и представляют интерес для небольшого круга специалистов. По этой причине их файлы не входят в основной архив ядра программы. Все они имеют собственную папку и эту папку при необходимости надо скачивать отдельно из депозитория. Включение их кнопок в общее меню удобно для автра программы, у которого есть все папки всех программ. Пока в меню есть лишь часть программ, причем некоторые из них все еще в стадии разработки. Остальные программы будут добавляться в будущем по мере их подготовки к данной структуре.

4.
       Данная программа имеет свой сайт в интернете, на котором дается очень много информации о различных аспектах работы с программой. Если программа скачана с этого сайта, то пользователь уже знает об этом. Важно, что некоторые программы, как с номерами, так и специальные имеют подробное описание с примерами. Для тех, кто захочет выучить язык VKACL есть также подробная информация о языке как на сайте, так и в сети ВК, в специальном сообществе МЛЯП. Также есть многочисленные видео записи в сети ВК, и будут на хостинге МатрешкаТВ. Для поиска используйте слова (Виктор Кон) или (kohnvict).

ВАЖНЫЕ ЗАМЕЧАНИЯ.
       (1) Некоторые программы готовят сайты интернета или pdf файлы, которые пытаются показать в браузере системы Виндовс. Иногда это не срабатывает. Посмотреть такие файлы легко простым кликом файла runsys.bat в главной папке программы (папке интерпретатора vkacl), либо кликом на иконке самого созданного файла в менеджере файлов.
       (2) Путь к файлам можно указывать либо относительно главной папки, если они находятся внутри этой папки, либо как полный путь (в системе Виндовс), начиная от буквы диска. Букву диска надо писать заглавной. При этом в некоторых программах есть ограничение на длину такого пути или длину папки -- не более 38 символов. Также надо следить, чтобы последним символом в каждой строке входных данных был пробел. Если полный путь не срабатывает, то используйте путь относительно папки интерпретатора. Чтобы не забыть поставить пробел в конце в некоторых программах можно набить лишний символ.
       (3) Если специально не оговорено, числовые файлы записываются в коде компьютера. При этом они записываются так, как принято в системе Юникс или в программах на языке программирования Java. В системе Виндовс числа в коде компьютера записываются иначе, поэтому их надо перезаписывать. 
       (4) Если специально не оговорено, то все входные данные программ печатаются на одной строке. Все тексты не должны содержать символы пробелов, их надо заменять на символ подчеркивания, а сами тексты должны быть окружены пробелами. Строк может быть много, а выбор строки реализуется установкой курсора в самое начало нужной строки. Бывают исключения, когда входные данные занимают несколько первых строк и тогда вариантов нет.  
       (5) Интерпретатор vkacl сделан таким образом, что при возникновении ошибки, при которой выполнение работы невозможно, программа указывает на эту ошибку и прекращает работу. Иногда она предлагает исправить ошибку в некоторых простых ситуациях, например, когда пользователь вводит код в окно или входные данные, но это бывает редко. В самих программах ошибок практически не бывает, но неправильный ввод входных данных может их создать. В этом случае программу надо запустить заново  и внимательно изучить все свои действия на предмет соответствия описанию программы (точнее инструкции о том, как с ней работать).
       (6) Большие специальные программы, которые работают в собственной папке, например XRWP, CT, и другие в основную версию дистрибутива программы не входят. При необходимости их использовать нужно скачать архив их папки из депозитория и поместить эту папку внутрь папки [s] основной программы.
       (7) Список ГОТОВЫХ ПРОГРАММ  С НОМЕРАМИ можно посмотреть в интернете по адресу (https://kohnvict.ucoz.ru/acl/aclp-info.htm). Там же есть полная инструкция о том, как они работают, На сайте программы (https://kohnvict.ucoz.ru/vkacl/ACLnews.htm) во 2-м разделе есть большой список ссылок на статьи как о языке программирования vkacl, так и о готовых программах. 

  

