Меню

Архив утилит на языке "Ellochka"
Размер архива 86141 байт, обновление от 01.01.07

ВНИМАНИЕ!

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

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

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

Программы в данном описании представлены по тематическим группам.


1. МАТЕМАТИКА

"aproxim.ela"

Матобработка данных с выводом графиков. Исходные данные (до 256 точек) берутся из текстового файла, содержащего два столбца (массива) с парами значений X и Y.
При построении графика по оси абсцисс откладываются не значения X, а просто порядковый номер точки.
Обработка включает в себя различные виды сглаживания, аппроксимацию полиномами до 26 степени, аппроксимацию заданной пользователем функцией, определение первой и второй производных в каждой точке и др.
Возможно добавление собственных алгоритмов обработки данных по аналогии с имеющимися (согласованное использование переменных).
Графики строятся для исходного набора данных и для полученного в результате обработки (второй график сдвинут на один пиксель по горизонтали). Каждый график автономно масштабируется по оси ординат, поэтому значения ординат на графике не пишутся.
Возможно сохранение на диск результатов обработки. В качестве примера исходных данных прилагается файл "aproxim.dat".
"graffunc.ela"

Построение графика произвольной функции, функция задается в тексте программы и поэтому может быть представлена одним уравнением, или набором уравнений, или как угодно. График строится формально с автомасштабированием без вывода значений X и Y. Смысл данной программы - просто показать, как выглядит график заданной функции.
"sysurav.ela"

Решение систем линейных и нелинейных уравнений. Матрица коэффициентов линейной системы берется из текстового файла, уравнения нелинейной системы вводятся непосредственно в текст программы.
В качестве примера линейной системы прилагается файл "sysurav.dat", нелинейная система имеет вид:
/ X2^2+4*X1^2*(2-X1)-4=0
\ X1^2+X2*(11-2*X2^2)-9=0

Эта система имеет 7 пар корней и все они могут быть получены изменением начальных условий.
"tranurav.ela"

Решение нелинейного уравнения, уравнение вводится с клавиатуры по запросу программы.
"urav234.ela"

Решение уравнений 2,3,4 степени с действительными коэффициентами, коэффициенты вводятся по запросу программы. В результате вычислений выводятся корни уравнения и относительная погрешность решения, полученная подстановкой этих корней в исходное уравнение.
"compurav.ela"

Решение уравнений 2,3,4 степени с комплексными коэффициентами, коэффициенты вводятся парами по запросу программы. В результате вычислений выводятся корни уравнения и относительная погрешность решения, полученная подстановкой этих корней в исходное уравнение.
"complex.ela"

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

Решение диффиренциальных уравнений и их систем. Уравнения вводятся из текстового файла, начальные значения вводятся из другого текстового файла или с клавиатуры.
Результат вычислений выводится в текстовый и/или двоичный файлы, имена которых вводятся по запросу программы.
В качестве примера прилагаются файлы "difsisur.txt" с уравнениями системы и "difsisur.dat" с начальными значениями искомых функций.
В данном примере решается система 2 уравнений второго порядка:
/ y''=y'-2*z'*x/z
\ z''=-(1+x*z'/z)/(y+(x*z'/z)^2+2*x)

точное решение:
y=exp(x)-x^2-1
z=x/exp(x)

Для использования данной программы необходимо преобразовать эту систему в систему 4 уравнений первого порядка, заменив y на y1, а z на y3:
/ y1'=y2
| y2'=y2-2*y4*x/y3
| y3'=y4
\ y4'=-(1+x*y4/y3)/(y1+(x*y4/y3)^2+2*x)

Начальные значения:
x=1
y1=0.718282
y2=0.718282
y3=0.367879
y4=0
"razmno.ela"

Разложение числа на множители. Исходное число вводится с клавиатуры, результат выводится на экран в виде всех пар сомножителей, образующих это число, а также простых множителей и их степеней.
"eratos1.ela", "eratos2.ela"

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

2. АСТРОНОМИЯ

"astro.ela"

Расчеты фаз Луны, затмений и т.д. На заданный год для указанной местности в текстовый файл выводятся даты и местное время новолуний, полнолуний, равноденствий и солнцестояний, а также солнечных и лунных затмений с указанием их примерного уровня и места видимости. Также вычисляются даты православной и католической пасхи. Все алгоритмы взяты из спец.литературы.
"solnce.ela"

Расчет времени восхода и захода Солнца в конкретный день для данной местности. Ввод данных с клавиатуры и вывод на экран.
"ekliptik.ela"

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

3. НАУКА

"trediag.ela"

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

4. УТИЛИТЫ

"edibyte.ela"

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

Простейший редактор текстовых файлов. Как и двоичный редактор, работает медленно и не очень удобно, но тоже может быть полезна как наглядное пособие при обучении программированию.
"delfile.ela"

Необратимое удаление файла. Для использования этой программы рекомендуется сделать командный файл, задавая имя удаляемого файла в качестве параметра. Содержимое файла забивается посторонними символами, после чего восстановить его в прежнем виде уже невозможно.
"disk.ela"

Чистка свободного места на диске. Данная программа очищает все свободное пространство на заданном диске от остатков записанной ранее и стертой информации. Правда, скорость этой операции не очень высокая, но и применять ее часто ведь не приходится...
"statbmp.ela"

Эта программа создает текстовый файл, в табличной форме содержащий RGB и HSV состав палитры 256-цветного изображения в формате "bmp". Полезна при работе с графикой, анализе изображений и т.д.
"progman.ela"

Это пример простейщего менеджера программ для MS-DOS, позволяющего выбирать и запускать программы из нескольких меню (по тематическим группам). Программа имеет не столько практический смысл, сколько демонстрационный, т.к. содержит интересные программные конструкции. Может быть полезна при обучении программированию.
"udaltab.ela"

Данная программа удаляет из произвольного файла все символы табуляции и конца строки, заменяя их на пробелы. Данная возможность предназначена в основном для обработки html-файлов, созданных в текстовом редакторе и содержащих для удобства восприятия указанные символы, не имеющие смысла для просмотра страниц программой Internet Explorer, но зачастую сильно увеличивающих объем самого файла, что замедляет его загрузку по сети.
"statfile.ela"

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

Программа позволяет уменьшать и увеличивать изображение, содержащееся в файле в формате 8-битного BMP, палитра должна быть серой. Работает в режиме командной строки.
"bmpcut.ela"

Эта программа вырезает из исходного изображения фрагмент задаваемого пользователем размера. Работает в режиме командной строки. Исходное и конечное изображение хранятся в 8-битном BMP-файле.
"rulawi.ela"

Программа перекодировки одного или группы файлов. Поддерживаются кодировки DOS-866, WIN-1251, KOI-8, Unicode и фонетическая.
"win2utf.ela", "utf2win.ela"

Программы переводят любые файлы из кодировки WIN-1251 в кодировку UTF-8 и обратно. Удобно использовать при создании своих html-файлов, а также перед редактированием готовых html-файлов.
"dos2unic.ela", "unic2win.ela"

Первая программа переводит файлы из кодировки DOS-866 в коды html-формата (типа А). Символы первой половины ascii-таблицы не изменяются. Вторая программа проводит обратное преобразование, но уже из кодов html в символы кодировки WIN-1251.
"curdir.ela"

Помещает в специальный текстовый файл список всех файлов текущего каталога вместе с их размерами. При этом файлы в списке отсортированы по именам.

5. ДОСУГ

"ekzamen.ela"

Определение возможной удачи на экзамене. Программа определяет вероятность того, что во взятом билете студенту будут известны столько-то вопросов. Исходные данные вводятся с клавиатуры, результат выводится на экран. Подробная инструкция есть в самой программе.
Когда я учился в институте, перед каждым экзаменом определял свои шансы этим методом (программа тогда еще была написана для ПМК).
"biorhitm.ela"

Вычисление числа прожитых дней и вывод графиков биоритмов. Программа вычисляет значения физической, эмоциональной, интеллектуальной составляющей биоритмов человека, а также их суммарное значение. Вычисленные данные выводятся в виде графика на срок около пяти месяцев, начиная с заданной даты. Полученное изображение может быть сохранено в файле формата ".bmp".
Также возможно определять число прожитых дней по дате и наоборот. Теория таких биоритмов не является строго научной, однако их вычисление и использование имеют широкое распространение.
"kalendar.ela"

Расчет дня недели по дате, программа маленькая, но иногда полезная.
"xarakter.ela"

Определение характера человека по ответам на вопросы. Данный тест взят из давно забытого источника и автор его неизвестен, однако результат его получается довольно точным.
"quine.ela"

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

Математическая игра "Жизнь" по алгоритму Конвея, а также можно задавать свои алгоритмы. Суть программы - наблюдение и изучение саморегулирующейся системы.

6. ЗАСТАВКИ

"rotor.ela"

Программа-заставка как хранитель экрана для режима MS-DOS. Вызывается вручную, выход производится по сочетанию клавиш, указанному пользователем прямо в тексте программы. При запуске демонстрирует вращающиеся кольца.
"zastavka.ela"

Программа аналогична предыдущей, демонстрирует плавающее текущее время.
"salut.ela"

Программа аналогична остальным, выводит на экран простейшие фигуры, имитирующие праздничный салют. Можно менять скорость вывода, на медленных машинах смотрится плохо.
"zvezdy.ela"

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

7. ИГРЫ

"samolet.ela"

Игра "управление самолетом" (в цифровой форме). Первоначальный вариант был много лет назад опубликован в журнале "Техника-молодежи" в виде программы для советских ПМК, затем для них же переделан мной, потом переведен на язык для МК-85, что сделало игру динамической (в реальном времени).
Данный вариант аналогичен программе для МК-85. Конечно, тут нет изысканной графики (да и вообще ее нет), но такой вариант в чем-то даже интереснее. Короче, как на чей вкус. Математическая модель полета в программе достаточно точная для получения основных навыков управления.
Требуется взлететь до конца полосы, набрать желаемую высоту и благополучно долететь до пункта назначения (расстояние до него вводится в наборе исходных данных). Снижение следует начать заблаговременно, приземлиться нужно в начало полосы и далее тормозить штурвалом, выключив двигатель. Аварийных ситуаций много: сел до или после полосы, не успел затормозить и выкатился, превысил допустимую скорость посадки.
Приятного полета!
"kosmos.ela"

Игра "управление ракетой" (в цифровой форме). История этой программы аналогична предыдущей. Требуется взлететь с планеты и состыковаться с орбитальной станцией (или естественным спутником - какая разница?). После чего дозаправиться, расстыковаться и вернуться на планету, не разбившись и не оставшись навечно в Космосе.
На экране схематично показывается положение планеты, станции и Вашего корабля.
"piton.ela"

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

Скачать интерпретатор Dikar

Статья "Эллочка и компьютер"



Rambler's Top100
nick ErichWare