Си и Модула

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

Сомневаюсь, что это может быть интересно или полезно кому - нибудь, но - purcua pa? ;)

Resource manager (Modula)

АрхивНазначение
resman.zipПредотвращение тупиков с использованием алгоритма банкира

Это - оригинальный дистрибутив зачетной задачи, реализованной за одну ночь в октябре 1993г по технологии, которую я бы тогда назвал “парное программирование” ;-). Суть ее была в том, что участник-1 получает доступ к терминалу на 1 час, после чего распечатывает результат и в течение следующего часа анализирует распечатку, пока участник-2 пользуется терминалом. Вот так мы за ночь с моим кумом Юрой Хомутовым сделали наши зачетные задачи на ВЦ, где работали его родители.

Кодировка исходников - 866. Исполняемый файл из архива, по состоянию на 7.04.2021, рабочий, команда запуска под linux: dosbox TASKBODY.EXE

ClubJES (Clarion)

АрхивНазначение
clubjes.zipПрограмма для учета того, что Вы отдали кому-то и того, что Вы взяли у кого-то

Эта программа была написана для того, чтобы определить, сколько времени нужно для написания минимального приложения на незнакомой платформе. Получилось 3 часа ;-)
Кодировка исходников - 866, исполняемый файл из архива, по состоянию на 7.04.2021, рабочий, но интерфейс содержит кириллицу и я пока не копал, как это победить в dosbox.

JESICA (C)

АрхивНазначение
jesica.zipФреймфорк для оформления зачетных задач

Основная цель данной разработки - стандартизация интерфейса вычислительных задач посредством создания универсальной библиотеки сервисного ввода - вывода, свободно подключаемой к широкому классу вычислительных задач. Другими словами, это оболочка, подключаемая к различным зачетным задачам, предназначенная для создания комфортных условий ввода исходных данных и просмотра результатов работы алгоритмов (термин “Фреймфорк” тогда не использовали).

Интерфейс программы в основном соответствует стилю IDE (меню динамического доступа, выход по Alt-X, клавишная подсказка, горячие клавиши и т.д.).

Основные особенности оболочки

  1. Независимость горячих клавиш от состояния клавиатуры
  2. Постоянное присутствие полной подсказки на экране
    • логическая подсказка - окно ‘Комментарий’
    • клавишная подсказка - последняя строка экрана

Эту библиотеку я далее использовал во всех своих зачетных задачах:

Метод обратного вывода

Архив: es1.zip

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

Входные данные : список продукций (заключение и от 1й до 4х посылок )

Особенности реализации алгоритма

  • Память для данных выделяется динамически
  • Основная структура данных - частично-древовидная сеть
  • Истинность аксиом определяется интерактивно
  • Возможно обоснование результатов вывода

Поиск простых циклов в графе

Архив: ds1.zip

Программа для выявления простых циклов в графе.

Особенности реализации алгоритма

  • Память для данных выделяется динамически
  • Ограничение на количество ребер используется исключительно для удобства ввода списка ребер
  • При суммировании учитываются циклические ребра
  • Обозначение вершин произвольно

Локализация в ППЛГ

Архив: ds2.zip

Программа для локализации точки относительно ППЛГ методом трапеций. Входными данными является список ребер ППЛГ.