Язык
программирования
Форт в
имитационном
моделировании
Навеято:
… Нефтяной
шейх в
картинной
галерее: —
Уважаю
Пикассо,
никто дороже
его масло не
продает…
От
автора:
·
Приведена
программа « 2D-искусственной
жизни» в
компьютере,
написана на
языке FORTH;
·
Возможно,
данная
программа
похожа на
модель МКТ-
молекулярно-кинетической
теории и
будет
востребована
физиками-теоретиками;
·
Программа
имеет статус
«свободного»
применения,
предназначена
для
изучающих FORTH и
доступна
всем
желающим без
возрастных
ограничений;
·
Данная
программа, из
серии
'компьютерной'
жизни.
Можно ли
сделать нечто
похожее на
нашу суету?
Наверное, все
же можно.
Если
посмотреть
на большой
город
сверху, это
муравейник.
Или то, что в
названии
программы, и
где это
обычно находится.
Большое
видется из
далека! Мы
бегаем,
крутимся,
вроде бы есть
цель. А
сверху все
похоже на
беспорядочный
хаос!
·
Алгоритм
следующий:
1. Формируется
массив
памяти, где
каждому
«телу»
назначено
«жизненное
пространство»
в виде
участка в
памяти;
2. В этом
«жизненном
пространстве»
(ЖП)
записывается
«место
жизни» (МЖ) на
экране. Экран
это 2D-модель.
Он имеет
координаты X и
Y. В
этой версии
используются
координаты
«знако-места»
для ЖП при
формировании
МЖ;
3. Выполняем
изменение
МЖ с
проверкой
ограничений
по размеру
экрана и
встроенных
препятствий;
4. Отображаем
на экране МЖ;
5. Если
нет
дополнительных
команд от
клавиатуры и
мышки,
переходим к
п.3;
·
Ниже
представлено
«урезанное» форт-слово
основного
цикла
программы.
Полный текст
смотрите в
файле oparyshi_v2a.f где и
находиться
данное
форт-слово.
: TEST_OPARYSHI_START (
старый тест
про
«опарыши» ) \ п1.
формирование
* * * (
форт-слова
формирования.
Формируем
ЖП
для МЖ )
BEGIN (
цикл жизни
=опарышей=
начался тут п3 –
изменения и
отображения
) \
------------------------------------------------------- PZ1 0= IF SHAG_NEW_M (
делается 1
шаг всех тел
и показываются
их
данные из
памяти на
экран п3 и п 4 )
ELSE 0xA PAUSE1 (
пропуск с
паузой на 10 мс,
что бы не тормозить
другие
процессы пк )
THEN \
------------------------------------------------------- * * * (
форт-слова
проверки на
нажатие
клавиатуры
и кнопок
мышки ) \
================================ UNTIL (
закончился
цикл жизни
«опарышей» п 5) ?KEY1_DIN2_0! (
сбросили
коды
запросов клавиатуры и
мышки для
работы других
программ ) ;
|
·
Далее
рассмотрим,
отображаемое
действо на
экране с
разных точек
зрения.
·
Настоящий
философ (Ф),
всегда все
может объяснить.
Например, для
женщины,
почему ч@н..
маленький и
тонкий,
лучше, чем
большой и толстый.
Шутка.
В нашей
ситуации пусть
он ответит,
на чем
основана
«компьютерная
жизнь» на
экране.
·
…Что
первично?, -
спросил Ф.
…материя или
сознание?. И сам
же ответил -
первично сознание,
которое
ведет за
собой
материю. А
материя
формирует
сознание.
·
Твое
сознание
нашло
источник
случайности
и замкнуло
его в
материальное
кольцо.
·
Кольцо
– это символ
вечности, так
что все в порядке,
и твое
сознание
сформировало
«вечную
жизнь» на
материи. А
эта материя
компьютер.
Пока будет
«жить»
компьютер,
будет жить и
твоя
«компьютерная»
жизнь.
·
Программист
увидел
обычный цикл,
и даже обиделся.
Какая тут
«компьютерная
жизнь»?
Обычный
«висяк» с
прерыванием
по
клавиатуре или
мышки.
·
Вот
если, еще
ввести
какие-нибудь
«примочки».
Например,
«съедение»
двух тел, или
«звуки
поглащения».
·
А
почему такая
«хреновая»
графика
всего лишь 2D и
знакоместах?
Надо
использовать
точечную
графику.
Ввести
масштабирование,
ввести
звуковые эффекты
при
столкновениях.
Резюме
программиста
-
улучшать,
улучшать и
еще раз
улучшать, как
завещал нам
великий
программист
человеческих
душ. ( Не помню
только, как
его звали)
И
писать надо
на Ассеблере
или СИ, или
лучше в
машинных
кодах. Что бы,
было доступно
и понятно
всем, а не
только
«фортерам».
·
На
сайте http://technic.itizdat.ru/
автор Дубровский
П.И.
имя на форуме
- d-pi
предложил 1
миллион
рублей за
компьютерную
(расчѐтную)
модель,
разработанную,
согласно
расчѐтной
схемы
молекулярно-кинетической
теории
(МКТ), если эта
модель
подтвердит
некоторые
физические
явления,
например,
закон
Архимеда. Адрес1.
Адрес2. Ниже,
скан из статьи d-pi
·
Данная
программа
показывает «выталкивание»
инородного
тела
в
«жизненном
пространстве» на экране
компьютера.
Это и есть
закон
Архимеда для
представленной
«цивилизации
компьютерной
жизни».
·
Очень
туманный
термин
(цитирую) …
модель,
согласно
расчетной
схемы МКТ… не
позволяет
конкретизировать
задачу
автора d-pi
·
Схема
– это нечто
«жесткое» и
«постоянное»,
имеет рисунок
и
графическое
представление
объекта.
·
Расчетная
схема …
теории –
хотелось бы
увидеть!?
·
Модель,
представленная
программой,
«выталкивает»
треугольное
тело в направлении
прямого угла.
Т.е. по
истечении
некоторого
времени,
«треугольник
выдавливания»
сместиться
вниз и влево. Это
зависит от
количества
тел и их
длинны.
·
Необходимо
нажать
пробел или
кликнуть правой
кнопкой
мышки – экран
очиститься и
кликнув на
новое место
перенести
«треугольник
выдавливания».
·
«Теория
без практики
– мертва» -
согласно,
такому
правилу
действует и
программа. Это
теоретическая
программа и
имеет
«нереальную»
физическую
среду. Это
«жалкое
подобие»
реального
движения
молекул и
атомов.
·
Если
обозначить
конкретные
условия, то
по этим
условиям
можно задать
любые
движения и функции
программы.
·
В
данной
версии, можно
увидеть «аппендицит»
программы, если
случайно
тело
движения
попадет во
внутрь «треугольника
выдавливания». «Треугольник»
начнет
метаться в
разные
стороны. «Ему
больно?». Да
или нет?
·
В
адрес автора d-pi такое
резюме:
·
Разве
это
«компьютерная
жизнь». Это
суета. Нет логики,
нет правил.
Надо, что бы
как в
реальной жизни.
Дом, работа, сон,
еда. Вот есть
такая
программа «жизнь»
Основана
на четких правилах.
Предложил Джон
Конвей.
·
Есть
правила, есть
результат. А
в данной программе,
какой
результат? Она к
чему
стремиться?
Может все
тела, что-то хотят
получить? Нет у
тел правил, и
поэтому это
не
«компьютерная
жизнь», а
случайный
процесс. По
типу
волнения на
море или бега
облаков.
·
И
наблюдаем мы,
обычный
«случайный»
шум.
·
С
так таким же
успехом,
можно
слушать шум
реки или
разговор
толпы.
Все
перемещается
и ничего ни
от кого не
зависит. Нет,
это не жизнь.
Рекомендую
в
случайность
внести
«правила» и
таким
образом,
получим «компьютерную
жизнь».
Например:
1. Правило
массы – чем
больше тело
(т.е. длиннее),
тем
медленнее
оно
двигается;
2. Правило
соударений –
большое тело,
если сталкивается
с маленьким.
Есть два
варианта –
слияние или
отражение.
3. Внешнее
поле. По типу
электромагнитной
волны. На все
движение, т.е.
на
случайность,
накладывается
дополнительный
внешний
гармонический
сигнал. В
этом случае
движение
будет
случайным и
одновременно
колебательным.
4. Правило
потери
энергии –
рождения и умирания. При
движении
расходуется энергия,
если в тело
ударились –
это + к энергии,
если тело
ударилось –
это – к
энергии. Т.е.
если все
время
ударяться –
то потеряешь
энергию и
остановишься.
5. И так
далее.
Это
правила из
реальных
физических
объектов. А в
программе,
они только
«выпячиваются»
и «
подчеркиваются».
·
Если
вводить
правила на
случайный
процесс – это
получится синергетика
Вспомните,
что
есть такая
наука кибернетика,
а синергетика
появилась с
появлением
компьютеров.
·
Программа oparyshi_v2.exe содержит
в теле текст
основного модуля.
В нем
алгоритм
выполнения,
меню. Все дополнительные
тексты
функций
располагаются
в основной
библиотеке и
доступны по ссылке
3
таблица
начала
статьи. Программа
в архиве test_monsys_all.zip
·
Получить
текст
основного
модуля
– в
работе
программы
нажать
служебную
клавишу ctrl и затем
функциональную
клавишу F4;
·
В
рабочем
каталоге
сформируется
файл oparyshi_v2a.f ,
который
откроется
редактором
БЛОКНОТ.
·
Формат
файла
текстовый,
кодировка 866 ОEM русская.
Выбрать шрифт
ТЕРМИНАЛ,
набор
символов OEM/DOS
Ниже на
рисунке
показаны
установки
редактора.
·
Ctrl+F1 -
открывает
перечень
доступных
функций для
программы. Их
назначение
ясно из комментариев;
·
Получить
все тексты
программы,
доступно из
файла test_monsys_all.zip Распаковать,
выполнить с
командной
строкой test_monsys.exe s 3 3 3
<enter> или после
запуска
программы,
последовательно
нажать
цифровую клавишу
=3= три раза.
·
Сформируется
каталог, в
котором
содержаться
все
форт-программы
для формирования
данной
программы.
·
Редактируются 2-а
файла данной
программы: oparyshi_v2.f oparyshi_v2a.f
·
Повторно
создать
новый
файл oparyshi_v2.exe –
выполнить в каталоге
компиляцию
текста
компилятором
FORTH spf4.exe \\100_spf4.exe test_monsys.f <enter>
Сформируется
новый
исполняемый файл.
Данная
программа
предназначена
для
заставок и немного
имитирует
МКТ-молекулярно-кинетическую
теорию.
Имеется
дополнительный
функционал –
звуковое
сопровождение
формата mid.
Функциональные
клавиши ctrl+f5. А так
же ссылки для
музыкальных
заставок и
интернет ТВ.
Особенности
программы:
·
Имеет
упрощенный «оконный»
интерфейс.
·
Программа
не
устанавливается,
не прописывается
в системные
библиотеки,
·
Программа
содержит в
своем
«теле»
файл
основного
модуля
для
ознакомления
с алгоритмом.
·
Программа
работает под
операционными
системами WINDOWS 95/98/NT/2000/XP/Vista/Win7/8/10 и
использует
только
функции api- ядра
системы –
файл kernel32.dll
·
Программа
написана на
языке Форт
версия
spf4.exe – автор А.
Черезов http://www.forth.org.ru
·
Программа
доступна для
использования,
изучения и
модификации
всем
желающим.
·
За
модифицированный тест
отвечает сам
модификатор.
Автор может,
при наличии времени,
только
кратко
провести
консультацию
по
используемым
им forth-словам.
·
Автор
оставляет за
собой право
на модификацию
и улучшение
алгоритма и
отображения.
·
Сторонние
ссылки в
работе даны
для пояснения
материала,
взяты в
свободном
доступе и не
нарушают
других
авторских
прав.
·
Сторонние
ссылки
могут не
работать, по
причине
изменений их
владельцами
ссылок и
автор просит
об этом
помнить при чтении
работы и
понимать, что
все течет и
все
изменяется;
·
В
связи
возможными
нарушениями
работы сервера
автора, нет
резервной
линии и нет
гарантированного
питания в
нашей
деревне, имеется
резервное
хранилище
тестов по
адресу: https://cloud.mail.ru/public/9eDZ/jxpRsaKmB
---------------------------------------------------------------------------------------------------------------------------------
Автор -
Шабронов
Андрей
Анатольевич
Тс.
+7 913-905-8839
e_mail - shabronov@ngs.ru
ред. 1-2-2017 .
Успехов и
здоровья!
Ред.2021-3-17-тсп