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

Top.Mail.Ru

Архитектура ВС уровня системы (набора) команд


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

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

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

  1. Разработать программный продукт с использованием языка библиотект (Netwide Assembler). Программа должна компилироваться и выполняться в ОС Lnux. Стиль написания программы - произвольный.

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

  3. Генератор случайных наборов данных должен быть реализован в качестве одной из подпрограмм разрабатываемой программы. Данные, формируемые генератом случайных наборов, должны поддерживать допустимые для обработки значения.

  4. Управление вводом данных задается из командной строки. Ввод-вывод данных реализовать с использованием библиотек языка программирования C.

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

  6. Привести результаты сравнительного анализа полученных количественных характеристик с теми, которые были получены для предыдущих программ. Результаты сравнения оформить в виде соответствующих таблиц или диаграмм. Опираясь на количественные данные, сделать выводы о достоинствах и недостатках этого и предшествующего решения относительно друг друга.

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

  8. Рисовать структурные решения в данном задании не нужно.

  9. Допускается реализация на ассемблере части программы, интегрированной с языком программирования C. Для этого необходимо реализовать функцию, общую для всех альтернатив, включая и обработку данных внутри отдельных альтернатив, а также вторую задачу задания. В этом случае возможная максимальная оценка за задание будет 8 баллов. Для получения более высокой оценки необходимо всю программу разработать на ассемблере.


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