Контрольная работа по дисциплине: Технология разработки программного обеспечения. Вариант 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 руб.
Технология разработки программного обеспечения.
studypro3
: 4 августа 2019
Вопрос 1. Разработать ПО ИС сборки компьютера: с применением структурного подхода;
Система предполагает решение следующих задач: формирование заявки на новый компьютер, определение области использования данного компьютера, подбор необходимых компонент для решения поставленных задач, сборка компьютера, передача компьютера заказчику. Перечень решаемых задач в процессе работы информационной системы сборки компьютера, перечень входной и выходной информации приведены в таблице 6.
Таблица 6.
Перечень
500 руб.
Технология разработки программного обеспечения
Проходимец
: 16 июня 2017
Экзаменационная работа по предмету Технология разработки программного обеспечения. Вариант билета №3
100 руб.
Технология разработки программного обеспечения
piligrim-24
: 17 января 2012
Зачетное задание по дисциплине «Технология разработки программного обеспечения»
вариант №5
Вопрос 1. Общие вопросы и коллективная разработка (гл. 1, 5 и 7)
Вариант 5. Каковы вопросы, которые необходимо прояснить каждому участнику коллектива до начала выполнения работ?
Вопрос 2. Разработка требований
Вариант 5. На какие основные вопросы отвечает анализ осуществимости?
Вопрос 3. Проектирование
Вариант 5. В чем заключается понятие паттерна? Какими свойствами оно обладает?
Вопрос 4. Программиров
50 руб.
Контрольная работа по дисциплине: Технологии разработки программного обеспечения. Вариант 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 руб.
Другие работы
Привод цепного конвейера
Рики-Тики-Та
: 2 июля 2012
Содержание
1. Задание на курсовой проект………………………………………………………………3
2. Описание конструкции привода………………………………………………………….4
3. Выбор и расчёт элементов вала привода………………………………………………8
4. Выбор и расчет подшипников тихоходного вала редуктора……………………..17
5. Проверочный расчет тихоходного вала редуктора………………………………...20
6. Выбор и расчет шпонок…………………………………………………………………..28
7. Выбор сорта и количества смазки …………………………………………………….31
8. Расчет цепной передачи………………………………………………………………….33
9. Выбор муфты……
55 руб.
Курсовая работа по дисциплине: Основы криптографии. Вариант №9
SibGOODy
: 15 июля 2018
Тема: «Доказательства с нулевым знанием»
Общие требования
Требуется выполнить курсовую работу, соответствующую шестой главе лекционного курса. Прежде чем приступать к выполнению курсовой работы, необходимо изучить соответствующую главу и получить оценку «зачтено» по всем лабораторным работам. Задание на курсовую работу представляет собой одну задачу с различными параметрами, заданными по вариантам.
Требования к оформлению отчета
Для проверки курсовой работы необходимо представить:
1. Файл с те
600 руб.
Лабораторные работы 1-3 по дисциплине: Обработка экспериментальных данных. Вариант №04
IT-STUDHELP
: 9 июля 2023
Лабораторная работа
1 Цель работы
Обработка экспериментальных данных при измерении вольт-амперной характеристики полупроводникового диода для нахождения теоретической кривой, наилучшим образом приближенной к экспериментальной.
2 Расчетные формулы
Обработка экспериментальных данных при измерении вольт-амперной характеристики полупроводниковых диодов обычно сводится к нахождению теоретической кривой, которая должна наилучшим образом приближаться к экспериментальной. Наиболее распространенн
350 руб.
Лицензирование и осуществление экспортно-импортных операций
alfFRED
: 10 сентября 2013
1. Сущность лицензирования. Порядок получения лицензии на осуществление хозяйственной деятельности.
Одной из форм государственного регулирования внешнеторгового оборота па основе мер. ограничивающих использование иностранных товаров на внутреннем рынке страны являются нетарифные ограничения.
Ведущими мерами среди нетарифного ограничения выступает квотирование и лицензирование.
Квотирование выражается в определении объема продукции, поставка которой за рубеж разрешена.
Лицензирование состои
5 руб.