Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант 05. Симулятор клеточного автомата с игрой Конвея ”Жизнь”

Цена:
200 руб.

Состав работы

material.view.file_icon
material.view.file_icon
material.view.file_icon CGL_installer.air
material.view.file_icon Контрольная работа.doc

Необходимые программы

Работа представляет собой rar архив с файлами (распаковать онлайн), которые открываются в программах:
  • Microsoft Word

Описание

задание

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

Общий для всех вариантов и тем план выполнения работ разбит на следующие этапы:

1. Формирование требований. Представьте себя заказчиком и потенциальным пользователем программы, которая решала бы задачу Вашего варианта. Сформируйте требования пользователя к ней. Можно использовать как неформальное описание на естественном языке (русском, английском), так и какой-либо формальный язык для спецификаций. В любом случае важен не объем текста (это может быть, например, всего 0.5-2 страницы), а содержательное описание функций с обоснованием их выбора.

2. Проектирование
2.1. Выберите и обоснуйте аппаратную платформу, ОС, язык программирования и компилятор для него (или некоторую интегрированную среду разработчика). При необходимости, также можно выбрать какую-либо заемную библиотеку функций. Выбор производится, исходя из сформированных в задании 1 требований, имеющихся у Вас аппаратных ресурсов, знания языков программирования и имеющегося набора программного обеспечения. В данном разделе желательно избегать подробное изложение достоинств выбираемых сред, которые не относятся непосредственно к обоснованию их выбора (достаточно указания ссылок на печатные или электронные материалы).

2.2. Нарисуйте в виде блок-схемы алгоритм работы программы.

2.3. Если использован объектно-ориентированный подход, перечислите все классы, их атрибуты и методы, отношение наследования (в виде текста на естественном языке или текста на выбранном языке программирования, поддерживающем объектно-ориентированное программирование, или в виде диаграммы классов).

2.4. Нарисуйте диаграмму с набором модулей, на которые будет разбита программа. Стрелками для каждого модуля укажите, какие модули используются данным модулем.

3. Реализация

3.1. Программирование

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

В процессе реализации для устранения ошибок пользуйтесь отладчиком. Для этого соберите программу в отладочном варианте. Если Вы выбрали GNU C/C++, то командная строка для сборки может быть такой: gcc –g –o program.bin program.c. Запустите собранный бинарный файл в отладчике. Пример для GCC и GDB приведен в гл. 6.

Результат выполнения задания 3 – все тексты программы и использовавшаяся для ее компиляции команда. Тексты программы оформляются в соответствии с рекомендациями по стилю, которые приведены в гл. 4 конспекта лекций данного курса.

3.2. Документирование – разработка модели. Возьмите за основу модель документации из приложения 2. Предложите измененную версию модели, которая на Ваш взгляд была бы удобна для описания программ, подобных построенной в задании 3. Для каждого добавленного, измененного и исключенного пункта объясните причину, почему это было необходимо сделать.

3.3. Документирование. На основе полученной в предыдущем пункте модели документации, составьте документацию для программы, реализованной в этом задании (п. 3.1).

4. Оценка производительности.
Проведите измерение времени выполнения получившейся в задании 4 программы зависимости от объема данных. Если Вы выбрали в качестве языка программирования C/C++, то для замеров можно воспользоваться функциями из файла benchmark.1.c (или benchmark.2.c). При этом функция main будет иметь такой вид:
main(){
 benchmark_start();
 …
 рrintf(“duration = %d\n”, benchmark_stop());
}

Сделайте это для нескольких вариантов, изменив флаги для компилятора, которые отвечают за уровни оптимизации. Можно попробовать и флаги, включающие и выключающие отдельные виды оптимизации. Если Вы выбрали GNU C/C++, то минимальный рекомендуемый набор вариантов для тестирования таков:
gcc –o program.bin program.c
gcc –O2 –o program.bin program.c
gcc –O3 –o program.bin program.c
gcc –O4 –o program.bin program.c

Постройте графики, где по ось X задана в соответствии с Вашим вариантом, а ось Y – время выполнения программы в миллисекундах.

Выполнение этапов 1, 2.1, 2.2., 3.1. и 3.3. - обязательно. Выполнение остальных этапов желательно. Важность их выполнения варьируется в зависимости от выбранной темы.

тема работы
Симулятор клеточного автомата с игрой Конвея ”Жизнь”

Автомат для игры ”Жизнь” можно представить двумерным массивом 1-битовых значений. Нуль интерпретируется как ”мертвая” клетка, один – как ”живая”. Новое значение каждой клетки вычисляется как функция от клеток ее окрестности 3 на 3. Вычисляется сумма восьми соседей клетки. Для мертвой клетки значение остается нулем для всех значений получившейся суммы, исключая – 3, что называется рождением клетки. Для живой клетки происходит переход в 0, если сумма меньше 2 (гибель от одиночества) или больше 3 (гибель от перенаселенности). В остальных случаях клетка остается в состоянии 1.

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

В минимальном виде симулятор – это утилита, которой в качестве параметров передается имя входного файла c исходной конфигурацией массива и число шагов , имя выходного файла с результирующей строкой, имя файла с правилами. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный файл и файл с правилами, обрабатывая возможные ошибочные ситуации, 3) производит поиск и применение подстановок, 4) записывает результат в результирующий файл и завершает работу.

Дополнительная информация

Уважаемый слушатель, дистанционного обучения,
Оценена Ваша работа по предмету: Технология разработки программного обеспечения
Вид работы: Контрольная работа
Оценка: Отлично
Дата оценки: 10.04.2016
Рецензия:Уважаемый С*
Остапкевич М.Б.
Контрольная работа по дисциплине: Технологии разработки программного обеспечения
Объект разработки/исследования: университетские хакатоны и информационная система управления их организацией и проведением (HackathonHub). Цель работы: проектирование и разработка информационной системы для автоматизации управления организацией и проведением хакатонов с использованием микросервисной архитектуры. Методы и средства разработки: Django как основная платформа web-разработки, PostgreSQL в качестве СУБД, Docker для контейнеризации, микросервисная архитектура с обменом данными через W
User Учеба "Под ключ" : 2 августа 2026
2500 руб.
promo
Контрольная работа по дисциплине: Технология разработки программного обеспечения
Вариант 4. Шестнадцатеричный калькулятор для выражений с инфиксной формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу. Выражение для калькулятора– это: • беззнаковая шестнадцатиричная констант
User Udacha2013 : 29 сентября 2015
200 руб.
Контрольня работа по дисциплине: Технология разработки программного обеспечения
Вариант 1. Калькулятор для выражений с постфиксной (польской) формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу. Выражение для калькулятора– это: • десятичная константа; • выражение - • выражен
User Nicola90 : 31 мая 2014
549 руб.
Контрольная работа по дисциплине: ««Российские технологии разработки программного обеспечения»
I. Цель работы: Демонстрация навыков работы с информационной базой в программе «1С:Предприятие 8.3». 1. Скачайте учебную версию Платформы «1С:Предприятие 8.3» по ссылке: https://online.1c.ru/catalog/free/learning.php; 2. Установите программу из скачанного ранее дистрибутива; 3. Создайте новую информационную базу; 4. Укажите имя информационной базы «МоеМаленькоеПредприятие»; 5. Добавьте синоним «Мое маленькое предприятие. V1»; 6. Добавьте справочник. Имя справочника указать как
User ai24 : 17 мая 2026
500 руб.
Контрольная работа по дисциплине: Технологии разработки программного обеспечения. Вариант 14
Вариант выбирается любой из предложенных в МУ. В данном случае выбран вариант No14: "Разработка компьютерных подсистем для анализа эффективности алгоритмов разного назначения" Контрольная состоит из отчета 50 страниц (*.docx) и файлов проекта. ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ 1. Тема контрольной работы: Разработка компьютерных подсистем для анализа эффективности алгоритмов разного назначения____________________________ 2. Перечень исходных материалов: Обмен данными между микросервисами реализова
2500 руб.
promo
Контрольная работа По дисциплине: «Технология разработки программного обеспечения». ВАРИАНТ 4
Задания к контрольной работе В рамках данной контрольной работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы. Типовые темы заданий приводятся ниже для десяти вариантов. Возможен выбор темы, отличающейся от типовой. Выбор темы из приводимого ниже списка альтернативных тем производится без согласования с преподавателем. При согласовании с преподавателем допускается выбор собственной темы, отличающейся от типовой или альтернативной из списка.
User holm4enko87 : 21 февраля 2025
500 руб.
promo
Контрольная работа по дисциплине «Технологии разработки программного обеспечения». Вариант общий.
В данной контрольной работе вам необходимо реализовать ниже представленные функции, а также протестировать их с использованием библиотеки для модульного тестирования кода CUnit. Создайте директорию, в которой будут находиться следующие файлы: - main.c - func.h - func.c - test_main.c (еслиходите можете добавить test_func.h и test_func.c) Все необходимые функции реализовать в func.c. Имена функций должны выглядеть следующим образом func_N(), где N– номер функции из списка ниже. Спецификации
User teacher-sib : 10 февраля 2025
1200 руб.
promo
Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант №9
В рамках данной курсовой работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы. Вариант 9. Словарь для изучающего иностранный язык. Минимальный набор функций: 1. занесение записи в словарь (пары слов - одно на русском языке, другое - на иностранном); 2. поиск иностранного слова по русскому слову, вводимому пользователем; 3. поиск русского слова по иностранному слову, вводимому пользователем. Желательно добавить возможность формирования
User IT-STUDHELP : 15 июня 2019
170 руб.
promo
Суров Г.Я. Гидравлика и гидропривод в примерах и задачах Задача 3.8
Определить равнодействующую силу и центр давления воды на наклонную прямоугольную стенку шириной b=10 м (рис. 3.15), если глубины воды Н1=6 м, Н2=2 м, а угол наклона стенки α=60°.
User Z24 : 12 ноября 2025
200 руб.
Суров Г.Я. Гидравлика и гидропривод в примерах и задачах Задача 3.8
Механика жидкости и газа СПбГАСУ 2014 Задача 3 Вариант 39
Определить силу суммарного давления бензина на торцевую стенку цилиндрической цистерны диаметром d = (2,4 + 0,05·y) м и точку ее приложения. Высота горловины hг = (0,6 + 0,02·z) м. Цистерна заполнена бензином до верха горловины. Плотность бензина ρб = 740 кг/м³ (рис. 3).
User Z24 : 30 декабря 2026
200 руб.
Механика жидкости и газа СПбГАСУ 2014 Задача 3 Вариант 39
УПРАВЛЕНИЕ ТЕЛЕКОММУНИКАЦИОННЫМИ СЕТЯМИ. Лабораторная работа № 1 Изучение принципов построения автоматически коммутируемой оптической транспортной сети ASTN/ASON
Содержание 1. Цель лабораторной работы 3 2. Выполнение работы 3 3. Анализ развития услуг электросвязи и транспортных сетей 4 3.1 Развитие и совершенствование услуг связи 4 3.2 Развитие транспортных сетей связи 4 3.3 Международная стандартизация сетей связи 5 4. Принципы построения ASTN/ASON 6 4.1 Общая архитектура ASON 6 4.2 Построение транспортной сети ASON 6 4.3 Построение сигнальной сети ASON 7 4.4 Построение сети управления ASON 7 4.5 Интерфейсы ASON 8 5. Итоговый тест 8 Список использованны
User shkyworker : 12 октября 2015
100 руб.
Экологическая обстановка Южно-Казахстанской области
Содержание Введение 1. Степень загрязнения воздушной среды от автотранспорта 2. Водный бассейн степень загрязнения 3. Проблемы загрязнения атмосферного воздуха (воздушный бассейн) 4. Заводы, фабрики, загрязняющие экологическую среду 5. Природоохранные зоны Список использованной литературы Введение Южно-Казахстанская область является одним из крупных регионов республики, ее территория составляет 117,3 тыс.кв.км. На западе граничит с Кызылординской, севере – Карагандинской, востоке – Жамбыль
User evelin : 20 марта 2013
15 руб.
up Наверх