Programming
is my lifestyle

Мои проекты

ClientsPlanner

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

github
GoldRunnerGame

GoldRunnerGame - 2D платформер, в котором ваша задача собрать определенное количество монет и не попасться в руки врагам. На поздних уровнях появится возможность разрушать ветхие стены. Играть можно как одному так и режиме 2-х игроков. В игре присутсвуют анимации и различные звуковые эффекты

github
ModellingBodyTrajectory

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

github
Processor

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

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

github
Differentiator

Дифференциатор - проект для вычисления производных различных функций с пошаговым вычислением. Программа анализирует функцию и строит дерево выражений, которое потом изменяет, преобразуя каждый узел в производную узла, а затем упрощая дерево, вычисляя все константы. В процессе работы вычисления записываются в специальном tex-формате, чтобы на выходе получить готовый pdf файл с решением производной.

github
Language

Реализация компилируемого языка программирования, поддерживающего функции, рекурсии, стандартную билиотеку и указатели.

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

github