SoftCraft
разноликое программирование

Top.Mail.Ru

Архитектура ВС с динамической типизацией


Начальная страница курса

Задание для самостоятельной работы

Дедлайн: 08.11.2021 23:59

  1. В соответствии с вариантом задания разработать программный продукт с использованием динамической проверки типов во время выполнения программы. Разработку осуществить на языке программирования Python. Стиль написания программы - произвольный.

  2. Провести отладку и тестирование разработанной программы на заранее подготовленных тестовых наборах данных. При необходимости, программа должна правильно обрабатывать переполнение по данным. Тестовые наборы до 10 элементов должны вводиться из заранее подготовленных тестовых файлов с использованием сведений из рассматриваемой в задаче предметной области. Количество тестовых наборов данных (тестов, сделанных вручную), в которых четко представлены параметры предметной области (корректные названия, имена, фразы) – не менее пяти. Число уникальных элементов в тестовых наборах должно варьироваться от нуля до 10000. Тестовые данные с большим числом элементов должны порождаться программно с использованием генераторов случайных наборов данных. Данные, формируемые генератом случайных наборов должны поддерживать допустимые для обработки значения. Управление вводом данных задается из командной строки.

  3. Описать архитектуру виртуальной Python машины с наложением на нее обобщенной схемы разработанной программы.

  4. Зафиксировать для отчета основные характеристики программы, такие как: число интерфейсных модулей (заголовочных файлов) и модулей реализации (фалов с определением программных объектов), общий размер исходных текстов, полученный размер исполняемого кода (если он формируется), время выполнения программы для различных тестовых наборов данных.

  5. Привести результаты сравнительного анализа полученных характеристик с теми, которые были получены для предыдущей программы. Сделать выводы о достоинствах и недостатках этого и предшествующего решения относительно друг друга.

  6. Использование модульной структуры и классов для представления программных объектов дает дополнительные бонусы к базовой оценке.


Примеры отображения структуры программы на память обобщенной Python-машины
Начальная страница курса