Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант 05. Симулятор клеточного автомата с игрой Конвея ”Жизнь”
Состав работы
|
|
|
|
|
|
|
|
Работа представляет собой 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) записывает результат в результирующий файл и завершает работу.
В рамках данной контрольной работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы. Типовые темы заданий приводятся ниже для десяти вариантов. Возможен выбор темы, отличающейся от типовой. Выбор темы из приводимого ниже списка альтернативных тем производится без согласования с преподавателем. При согласовании с преподавателем допускается выбор собственной темы, отличающейся от типовой или альтернативной из списка.
Общий для всех вариантов и тем план выполнения работ разбит на следующие этапы:
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
Рецензия:Уважаемый С*
Остапкевич М.Б.
Оценена Ваша работа по предмету: Технология разработки программного обеспечения
Вид работы: Контрольная работа
Оценка: Отлично
Дата оценки: 10.04.2016
Рецензия:Уважаемый С*
Остапкевич М.Б.
Похожие материалы
Контрольная работа по дисциплине: Технология разработки программного обеспечения
Udacha2013
: 29 сентября 2015
Вариант 4.
Шестнадцатеричный калькулятор для выражений с инфиксной формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу.
Выражение для калькулятора– это:
• беззнаковая шестнадцатиричная констант
200 руб.
Контрольня работа по дисциплине: Технология разработки программного обеспечения
Nicola90
: 31 мая 2014
Вариант 1. Калькулятор для выражений с постфиксной (польской) формой записи. В минимальном виде калькулятор – это утилита, которой в качестве параметров передается имя входного файла, содержащего выражение. Утилита 1) считывает входные параметры и проверяет их корректность, 2) открывает исходный, обрабатывая возможные ошибочные ситуации, 3) производит вычисление результата выражения, 4) печатает и завершает работу.
Выражение для калькулятора– это:
• десятичная константа;
• выражение -
• выражен
549 руб.
Контрольная работа по дисциплине: Технологии разработки программного обеспечения. Вариант 14
Учеба "Под ключ"
: 18 июля 2025
Вариант выбирается любой из предложенных в МУ. В данном случае выбран вариант No14: "Разработка компьютерных подсистем для анализа эффективности алгоритмов разного назначения"
Контрольная состоит из отчета 50 страниц (*.docx) и файлов проекта.
ЗАДАНИЕ НА КОНТРОЛЬНУЮ РАБОТУ
1. Тема контрольной работы: Разработка компьютерных подсистем для анализа эффективности алгоритмов разного назначения____________________________
2. Перечень исходных материалов: Обмен данными между микросервисами реализова
2500 руб.
Контрольная работа По дисциплине: «Технология разработки программного обеспечения». ВАРИАНТ 4
holm4enko87
: 21 февраля 2025
Задания к контрольной работе
В рамках данной контрольной работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы. Типовые темы заданий приводятся ниже для десяти вариантов. Возможен выбор темы, отличающейся от типовой. Выбор темы из приводимого ниже списка альтернативных тем производится без согласования с преподавателем. При согласовании с преподавателем допускается выбор собственной темы, отличающейся от типовой или альтернативной из списка.
500 руб.
Контрольная работа по дисциплине «Технологии разработки программного обеспечения». Вариант общий.
teacher-sib
: 10 февраля 2025
В данной контрольной работе вам необходимо реализовать ниже представленные функции, а также протестировать их с использованием библиотеки для модульного тестирования кода CUnit.
Создайте директорию, в которой будут находиться следующие файлы:
- main.c
- func.h
- func.c
- test_main.c (еслиходите можете добавить test_func.h и test_func.c)
Все необходимые функции реализовать в func.c. Имена функций должны выглядеть следующим образом func_N(), где N– номер функции из списка ниже.
Спецификации
1200 руб.
Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант №9
IT-STUDHELP
: 15 июня 2019
В рамках данной курсовой работы предлагается осуществить формирование требований, проектирование, реализацию и тестирование программы.
Вариант 9.
Словарь для изучающего иностранный язык. Минимальный набор функций:
1. занесение записи в словарь (пары слов - одно на русском языке, другое - на иностранном);
2. поиск иностранного слова по русскому слову, вводимому пользователем;
3. поиск русского слова по иностранному слову, вводимому пользователем.
Желательно добавить возможность формирования
170 руб.
КОНТРОЛЬНАЯ РАБОТА по дисциплине Технология разработки программного обеспечения. Вариант № 8
Некто
: 16 сентября 2018
Разработать программу, представляющую собой калькулятор для выражений с префиксной формой записи для ПК с архитектурой Intel x86 и операционной системой Windows.
Утилита должна обеспечивать следующий функционал:
– принимать через параметр командной строки имя текстового файла с выражением в префиксной форме записи;
– открывать исходный файл, обрабатывая возможные ошибочные ситуации;
– производить вычисление выражения, записанного в исходном файле, обрабатывая возможные ошибочные ситуации;
200 руб.
Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант №3
SibGOODy
: 18 июля 2018
Содержание
1. Задание 3
2. Формирование требований 4
3. Проектирование 4
4. Реализация 6
4.1 Программирование 6
4.2 Документирование 9
5. Оценка производительности 12
Заключение 14
1. Задание
Осуществить формирование требований, проектирование, реализацию и тестирование программы.
Вариант 3.
Поиск пути в лабиринте. Лабиринт описывается двумерным массивом с кодами в ячейках: 0 - проход, 1 - стена, 2 - проход, начальная точка, 3 - проход, конечная точка, 4 - проход, часть пути. Минимальный набор
1000 руб.
Другие работы
Организация производства и управление предприятием - Контрольная работа - Вариант 7
maksimus
: 14 февраля 2016
Организация производства и управление предприятием
Теоретическая часть
7. Охарактеризуйте стадии и зтапы конструкторской подготовки производства и требования, предъявляемые ЕСКД.
41. Поясните виды и методы технического контроля качества продукции. Какие технические средства используются при определении качества продукции?
Практическая часть
Контрольное задание №2. Выбор ресурсосберегающего технологического процесса.
Задача 2 Вариант 2.
Таблица 8
Технологический процесс изготовления тон
299 руб.
Повышение эффективности борьбы с мехпримесями при эксплуатации скважин с УЭЦН-Курсовая работа-Дипломная работа-Специальность-Разработка и эксплуатация нефтяных и газовых месторождений РЭНГМ-Нефтегазовое дело-Эксплуатация и обслуживание объектов нефтегазод
lesha.nakonechnyy.92@mail.ru
: 9 ноября 2017
Повышение эффективности борьбы с мехпримесями при эксплуатации скважин с УЭЦН-Курсовая работа-Дипломная работа-Специальность-Разработка и эксплуатация нефтяных и газовых месторождений РЭНГМ-Нефтегазовое дело-Эксплуатация и обслуживание объектов нефтегазодобычи
Доклад Храпугин
Присутствие в добываемой нефти большого количества механических примесей затрудняет эксплуатацию скважин, повышает износ оборудования, усложняет обслуживание скважин, при этом возрастают экс
1626 руб.
Модернизация кузова автомобиля КамАЗ-5320 (конструкторский раздел дипломного проекта)
AgroDiplom
: 3 августа 2018
Содержание
4 Конструкторская разработка
4 1 Общая и техническая характеристика
4. 2 Анализ существующих конструкций
4.2.1 Тросовый
4.2.2 Крюковой
4.2.3 Рамный
4.3 Основные преимущества применения автомобилей мультилифт в транспортном процессе
4.4 Расчет основных деталей
4.4.1 Расчет и выбор гидроцилиндров
4.4.2 Расчет сварных соединений
4.4.3 Расчет рукава захвата на изгиб
4 Конструкторская разработка
4 1 Общая и техническая характеристика
Механизм погрузочно-разгрузоч
999 руб.
Отопление и вентиляция автопредприятия с агрегатным участком в г.Ярославле
Рики-Тики-Та
: 29 сентября 2011
Курсовой проект «Отопление и вентиляция автопредприятия с агрегатным участком в г.Ярославле» выполнен в соответствии с индивидуальным заданием. Пояснительная записка проекта содержит 58 страниц, 34 таблицы, 5 рисунков, список литературных источников из 12 наименований.
В курсовом проекте разработаны системы отопления, приточной и вытяжной вентиляции для автопредприятия с агрегатным участком. Выполнен расчет теплового и воздушного режимов помещений, аэродинамический расчет систем вентиляции. Подо
55 руб.