СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

МДК 05.02 «Разработка кода информационных систем»

Категория: Информатика

Нажмите, чтобы узнать подробности

Просмотр содержимого документа
«МДК 05.02 «Разработка кода информационных систем»»

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ ЧЕЛЯБИНСКОЙ ОБЛАСТИ

ГБПОУ «Первомайский техникум промышленности строительных материалов»


















МЕТОДИЧЕСКИЕ РЕКОМЕНДАЦИИ

ДЛЯ ВЫПОЛНЕНИЯ ЛАБОРАТОРНЫХ РАБОТ

ПО ДИСЦИПЛИНЕ МДК.05.02 «РАЗРАБОТКА КОДА ИНФОРМАЦИОННЫХ СИСТЕМ» ДЛЯ СПЕЦИАЛЬНОСТИ 09.02.07 «ИНФОРМАЦИОННЫЕ СИСТЕМЫ И

ПРОГРАММИРОВАНИЕ»



















2019

Организация-разработчик: ГБПОУ «Первомайский техникум промышленности строительных материалов»

Рекомендации по выполнению лабораторных работ по дисциплине «Разработка кода информационных систем» предназначены для студентов, обучающихся по специальности

«Информационные системы и программирование». В пособии содержатся задания с учетом профиля специальности разных типов и разного уровня сложности, что обусловливает возможность работать со студентами разной степени подготовленности.





Разработчик: Юрганова Т.А., преподаватель








Программа составлена на основе Федерального государственного образовательного стандарта СПО по специальности 09.02.07 Информационные системы и программирование, а также в соответствии с требованиями работодателей


ОДОБРЕНО

Предметно-цикловой

комиссией ПП

протокол № ______

от «__»_____________2019 г.


Председатель ПЦК ПП

___________ Т.Р. Лесина

УТВЕРЖДАЮ

Заместитель директора по УР __________ Ю.И. Тротно

«___»_______________20___ г.



СОДЕРЖАНИЕ


ВВЕДЕНИЕ 5

ЛАБОРАТОРНАЯ РАБОТА № 2. ПОСТРОЕНИЕ ДИАГРАММЫ ВАРИАНТОВ 7

ЛАБОРАТОРНАЯ РАБОТА № 3. ПОСТРОЕНИЕ ДИАГРАММЫ КООПЕРАЦИИ И ДИАГРАММЫ РАЗВЕРТЫВАНИЯ И ГЕНЕРАЦИЯ КОДА 10

ЛАБОРАТОРНАЯ РАБОТА № 4. ПОСТРОЕНИЕ ДИАГРАММЫ КОМПОНЕНТОВ И ГЕНЕРАЦИЯ КОДА 12

ЛАБОРАТОРНАЯ РАБОТА № 5. ПОСТРОЕНИЕ ДИАГРАММ ПОТОКОВ ДАННЫХ И ГЕНЕРАЦИЯ КОДА 14

ЛАБОРАТОРНАЯ РАБОТА № 6. УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ С РАЗГРАНИЧЕНИЕМ РОЛЕЙ 18

ЛАБОРАТОРНАЯ РАБОТА № 7. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ 19

ЛАБОРАТОРНАЯ РАБОТА № 8. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ОБРАБОТКИ ЧИСЛОВЫХ ДАННЫХ. ОТЛАДКА ПРИЛОЖЕНИЯ 21

ЛАБОРАТОРНАЯ РАБОТА № 9. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПОИСКА. ОТЛАДКА ПРИЛОЖЕНИЯ 22

ЛАБОРАТОРНАЯ РАБОТА № 10. РЕАЛИЗАЦИЯ ОБРАБОТКИ ТАБЛИЧНЫХ ДАННЫХ. ОТЛАДКА ПРИЛОЖЕНИЯ 25

ЛАБОРАТОРНАЯ РАБОТА № 11. РАЗРАБОТКА И ОТЛАДКА ГЕНЕРАТОРА СЛУЧАЙНЫХ СИМВОЛОВ 26

ЛАБОРАТОРНАЯ РАБОТА № 12. ИНТЕГРАЦИЯ МОДУЛЯ В ИНФОРМАЦИОННУЮ СИСТЕМУ 29

ЛАБОРАТОРНАЯ РАБОТА № 13. РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ МОДЕЛИРОВАНИЯ ПРОЦЕССОВ И ЯВЛЕНИЙ. ОТЛАДКА ПРИЛОЖЕНИЯ 30

ЛАБОРАТОРНАЯ РАБОТА № 14. ПРОГРАММИРОВАНИЕ ОБМЕНА СООБЩЕНИЯМИ МЕЖДУ МОДУЛЯМИ 33



ВВЕДЕНИЕ


Основное назначение дисциплины МДК.05.02 «Разработка кода информационных систем» в средних профессиональных образовательных учреждениях состоит в формировании у студентов общих и профессиональных компетенций, владение которыми позволяет решать прикладные вопросы программирования и языка сценариев для создания программ; разрабатывать графический интерфейс приложения; проектировать и разрабатывать систему по заданным требованиям и спецификациям.

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

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

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

Структура лабораторных работ включает в себя:

  • теоретические вопросы по изучаемым темам,

  • практические задания для решения с помощью программных средств.

Разработано содержание тринадцати лабораторных работ, рассчитанных на десять/двенадцать академических часа, определена их цель, приведены задания и упражнения, указана учебная и справочная литература. Структура заданий соответствует структуре курса «Разработка кода информационных систем».

ОК 01. Выбирать способы решения задач профессиональной деятельности, применительно к различным контекстам.

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

ОК 03. Планировать и реализовывать собственное профессиональное и личностное развитие. ОК 04. Работать в коллективе и команде, эффективно взаимодействовать с коллегами,

руководством, клиентами.

ОК 05. Осуществлять устную и письменную коммуникацию на государственном языке с учетом особенностей социального и культурного контекста.

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

ОК 07. Содействовать сохранению окружающей среды, ресурсосбережению, эффективно действовать в чрезвычайных ситуациях.

ОК 08. Использовать средства физической культуры для сохранения и укрепления здоровья в процессе профессиональной деятельности и поддержания необходимого уровня физической подготовленности.

ОК 09. Использовать информационные технологии в профессиональной деятельности.

ОК 10. Пользоваться профессиональной документацией на государственном и иностранном языке.

ОК 11. Планировать предпринимательскую деятельность в профессиональной сфере.

ПК 5.1. Собирать исходные данные для разработки проектной документации на информационную систему.

ПК 5.2. Разрабатывать проектную документацию на разработку информационной системы в соответствии с требованиями заказчика.

ПК 5.3. Разрабатывать подсистемы безопасности информационной системы в соответствии с техническим заданием.

ПК 5.4. Производить разработку модулей информационной системы в соответствии с техническим заданием.

ПК 5.5. Осуществлять тестирование информационной системы на этапе опытной эксплуатации с фиксацией выявленных ошибок кодирования в разрабатываемых модулях информационной системы.

ПК 5.6. Разрабатывать техническую документацию на эксплуатацию информационной системы.

ПК 5.7. Производить оценку информационной системы для выявления возможности ее модернизации.

ЛАБОРАТОРНАЯ РАБОТА № 2. ПОСТРОЕНИЕ ДИАГРАММЫ ВАРИАНТОВ

ИСПОЛЬЗОВАНИЯ И ДИАГРАММЫ ПОСЛЕДОВАТЕЛЬНОСТИ И ГЕНЕРАЦИЯ КОДА


Цель: ознакомиться с методологией моделирования информационных систем на основе языка UML.

Теоретические вопросы

Универсальный язык моделирования UML. Понятие диаграммы.

Виды диаграмм.

Основные элементы диаграммы вариантов использования. Основные элементы диаграммы последовательности.

Задание № 1. Ознакомиться с методологией построения диаграммы вариантов использования основе языка UML.

Задание № 2. Проанализируйте пример построения диаграммы вариантов использования.

Пример. Магазин видеопродукции

Магазин продает видеокассеты, DVD-диски, аудиокассеты, CD-диски и т.д., а также предлагает широкой публике прокат видеокассет и DVD-дисков.

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

Видеоносители выдаются в прокат на срок от 1 до 7 дней. При прокате с клиента взимается залоговая стоимость видеоносителя. При возврате видеоносителя возвращается залоговая стоимость минус сумма за прокат. Если возврат задержан менее чем на 2 дня, взимается штраф в размере суммы за прокат за 1 день* кол-во дней задержки. При задержке возврата более чем на 2 дня – залоговая сумма не возвращается. Клиент может взять одновременно до 4 видеоносителей (прокат-заказ). На каждый видеоноситель оформляется квитанция.

Клиенты могут стать членами видео-клуба и получить пластиковые карточки. С членов клуба не берется залог (за исключением случая описанного ниже), устанавливается скидка на ставку проката и покупку товаров. Члены клуба могут делать предварительные заказы на подбор видеоматериалов для проката или покупки.

Каждый член клуба имеет некоторый статус. Первоначально – "новичок". При возврате всрок 5 прокат-заказов, статус меняется на "надежный". При задержке хотя бы одного видеоносителя более чем на 2 дня, статус "новичок" или "надежный" меняется на "ненадежный" и клиенту высылается предупреждение. При повторном нарушении правил статус меняется на "нарушитель". Члены клуба со статусом "надежный" могут брать до 8 видеоносителей единовременно, все остальные – 4. С членов клуба со статусом "нарушитель" берется залоговая сумма.

Клиенты при покупке товара или получении видеоносителя в прокат могут расплачиваться наличными или кредитной картой.

Прокатные видеоносители через определенное количество дней проката списываются и утилизируются по акту. Списываются также товары и прокатные видеоносители, у которых обнаружился брак.

На рисунке 1 приведена диаграмма прецедентов для рассматриваемого примера. В этом примере можно выделить следующие субъекты и соответствующие им прецеденты:



Рисунок 1


Менеджер изучает рынок видеопродукции, анализирует продажи (прецедент "Запрос сведений"), работает с поставщиками: составляет заявки на поставки товара (прецедент "Оформление заказа"), оплачивает и принимает товар (прецедент "Прием товара"), списывает товар (прецедент "Списание товара").

Продавец – работает с клиентами: продает товар (прецедент "Продажа видео"), оформляет членство в клубе (прецедент "Сопровождение клиентов"), резервирует (прецедент "Резервирование видио"), выдает в прокат (прецедент "Прокат видео") и принимает назад видеоносители (прецедент "Возврат видео"), отвечает на вопросы клиента (прецедент "Запрос сведений").

Поставщик – оформляет документы для оплаты товара (прецедент "Оформление заказа"), поставляет товар (прецедент "Прием товара"))

Клиент – покупает(прецедент "Продажа видео"), берет на прокат и возвращает видеоносители (прецеденты "Прокат видео" и "Возврат видео"), вступает в клуб (прецедент "Сопровождение клиентов"), задает вопросы (прецедент "Запрос сведений").

Последние два субъекта Поставщик и Клиент не будут иметь непосредственного доступа к разрабатываемой системе (второстепенные субъекты), однако именно они являются основным источником событий, инициализирующих прецеденты, и получателями результата работы прецедентов

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

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

  • краткое описание;

  • участвующие субъекты;

  • предусловия, необходимые для инициирования прецедента;

  • поток событий (основной и, возможно, подпотоки, альтернативный);

  • постусловия, определяющие состояние системы, по достижении которого прецедент завершается.


Описательная спецификация прецедента "Прокат видео"




Раздел

Описание

Краткое описание

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

напоминание о просроченном возврате

Субъекты

Продавец, Клиент

Предусловия

В наличие имеются видеокассеты или диски, которые можно взять напрокат. У клиентов есть клубные карточки. Устройство сканирования работает правильно. Работники за прилавком знают, как обращаться с

системой

Основной поток

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

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

Альтернативный поток

У клиента нет членской карточки. В этом случае прецедент

может быть активизирован для выдачи новой карточки.

Видеофильмы не выдаются, поскольку у клиента есть невозвращенные в срок видеоносители.

Попытка взять напрокат слишком много видеоносителей.

Видеоноситель или кредитная карта не могут быть отсканированы из-за их повреждения

У клиента не хватило наличных или платеж по кредитной карте отклонен

Постусловия

Видеофильмы сданы напрокат, и база данных соответствующим образом

обновлена


Задание № 3. Постройте диаграмму вариантов использования для выбранной информационной системы (практическая работа № 11).

Задание № 4. Ознакомиться с методологией построения диаграммы последовательности основе языка UML.

Задание № 5. Проанализируйте пример построения диаграммы последовательности (рисунок 2).



style="position: absolute; top: 0.15in; left: 0.93in"



Рисунок 2


Пример

Ввод заказа.

Действующее лицо «Продавец». Сообщения:

  • создать новый заказ;

  • открыть форму;

  • ввести номер заказа, заказчика и число заказываемых предметов;

  • сохранить заказ;

  • создать пустой заказ;

  • ввести номер заказа, заказчика и число заказываемых предметов;

  • сохранить заказ.

Теперь нужно позаботиться об управляющих объектах и о взаимодействии с базой данных. Как видно из диаграммы, объект Форма Деталей Заказа имеет множество ответственностей, с которыми лучше всего мог бы справиться управляющий объект. Кроме того, новый заказ должен сохранять себя в базе данных сам. Вероятно, эту обязанность лучше было бы переложить на другой объект.

Окончательный вид диаграммы последовательности представлен на рисунке 3.

Задание № 6. Постройте диаграмму последовательности для выбранной информационной системы (практическая работа № 11).

Задание № 7. Оформите отчет.



Рисунок 3




Литература


  1. Грекул В.И. Проектирование информационных систем. Курс лекций [Электронный ресурс]

: учебное пособиеnдля студентов вузов, обучающихся по специальностям в области информационных технологий / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. – Электрон. текстовые данные. – Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Вузовское образование, 2017. – 303 c. – 978-5-4487-0089-7. – Режим доступа: http://www.iprbookshop.ru/67376.html.

  1. Проектирование информационных систем. Проектный практикум [Электронный ресурс] : учебное пособие для студентов дневного и заочного отделений, изучающих курсы

«Проектирование информационных систем», «Проектный практикум», обучающихся по направлению 230700.62 (09.03.03) / А.В. Платёнкин [и др.]. – Электрон. текстовые данные. – Тамбов: Тамбовский государственный технический университет, ЭБС АСВ, 2015. – 80 c. – 978-5- 8265-1409-2. – Режим доступа: http://www.iprbookshop.ru/64560.html.

  1. Золотов С.Ю. Проектирование информационных систем [Электронный ресурс] : учебное пособие / С.Ю. Золотов. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 88 c. – 978-5-4332-0083-

  1. – Режим доступа: http://www.iprbookshop.ru/13965.html.



ЛАБОРАТОРНАЯ РАБОТА № 3. ПОСТРОЕНИЕ ДИАГРАММЫ КООПЕРАЦИИ И ДИАГРАММЫ РАЗВЕРТЫВАНИЯ И ГЕНЕРАЦИЯ КОДА


Цель: ознакомиться с методологией моделирования информационных систем на основе языка UML.

Теоретические вопросы

Универсальный язык моделирования UML. Понятие диаграммы.

Виды диаграмм.

Основные элементы диаграммы кооперации. Основные элементы диаграммы развертывания.

Задание № 1. Ознакомиться с методологией построения диаграммы кооперации основе языка UML.

Задание № 2. Проанализируйте пример построения диаграммы кооперации (рисунок 4).



style="position: absolute; top: 0.26in; left: 2.02in"

Задание № 3. Постройте диаграмму кооперации для выбранной информационной системы (практическая работа № 11).

Задание № 4. Ознакомиться с методологией построения диаграммы развертывания основе языка UML.

Задание № 5. Проанализируйте пример построения диаграммы развертывания.

Примеры построения диаграмм развертывания

Фрагмент диаграммы развертывания с соединениями между узлами показан на рисунке 5.



style="position: absolute; top: 0.17in; left: 3.03in"



Рисунок 5


Диаграмма развертывания с отношением зависимости между узлом и развернутыми на нем компонентами приведена на рисунке 6.



style="position: absolute; top: 0.14in; left: 3.29in"



Рисунок 6



style="position: absolute; top: 0.55in; left: 2.8in" Диаграмма развертывания для системы мобильного доступа к корпоративной базе данных изображена на рисунке 7.

Задание № 6. Постройте диаграмму развертывания для выбранной информационной системы (практическая работа №11).

Задание № 7. Оформите отчет.


Литература


    1. Грекул В.И. Проектирование информационных систем. Курс лекций [Электронный ресурс]

: учебное пособиеnдля студентов вузов, обучающихся по специальностям в области информационных технологий / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. – Электрон. текстовые данные. – Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Вузовское образование, 2017. – 303 c. – 978-5-4487-0089-7. – Режим доступа: http://www.iprbookshop.ru/67376.html.

    1. Проектирование информационных систем. Проектный практикум [Электронный ресурс] : учебное пособие для студентов дневного и заочного отделений, изучающих курсы

«Проектирование информационных систем», «Проектный практикум», обучающихся по направлению 230700.62 (09.03.03) / А.В. Платёнкин [и др.]. – Электрон. текстовые данные. – Тамбов: Тамбовский государственный технический университет, ЭБС АСВ, 2015. – 80 c. – 978-5- 8265-1409-2. – Режим доступа: http://www.iprbookshop.ru/64560.html.

    1. Золотов С.Ю. Проектирование информационных систем [Электронный ресурс] : учебное пособие / С.Ю. Золотов. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 88 c. – 978-5-4332-0083-

  1. – Режим доступа: http://www.iprbookshop.ru/13965.html.



ЛАБОРАТОРНАЯ РАБОТА № 4. ПОСТРОЕНИЕ ДИАГРАММЫ КОМПОНЕНТОВ И ГЕНЕРАЦИЯ КОДА


Цель: ознакомиться с методологией моделирования информационных систем на основе языка UML.

Теоретические вопросы

Универсальный язык моделирования UML. Понятие диаграммы.

Виды диаграмм.

Основные элементы диаграммы компонентов. Основные элементы диаграммы развертывания.

Задание № 1. Ознакомиться с методологией построения диаграммы компонентов основе языка UML.

Задание № 2. Проанализируйте пример построения диаграммы компонентов. Выделяем компоненты, отображаем зависимости между ними.

Фрагмент диаграммы компонентов с отношениями зависимости и реализации показан на рисунке 8.

Графическое изображение отношения зависимости между компонентами приведено на рисунке 9.

На рисунке 10 показано графическое изображение зависимости между компонентом и классами.



Рисунок 8



style="position: absolute; top: 0.19in; left: 2.27in"



Рисунок 9



style="position: absolute; top: 0.17in; left: 2.77in"


Рисунок 10



Задание № 3. Постройте диаграмму компонентов для выбранной информационной системы (практическая работа № 11).

Задание № 4. Оформите отчет.

Литература


    1. Грекул В.И. Проектирование информационных систем. Курс лекций [Электронный ресурс]

: учебное пособиеnдля студентов вузов, обучающихся по специальностям в области информационных технологий / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. – Электрон. текстовые данные. – Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Вузовское образование, 2017. – 303 c. – 978-5-4487-0089-7. – Режим доступа: http://www.iprbookshop.ru/67376.html.

    1. Проектирование информационных систем. Проектный практикум [Электронный ресурс] : учебное пособие для студентов дневного и заочного отделений, изучающих курсы

«Проектирование информационных систем», «Проектный практикум», обучающихся по направлению 230700.62 (09.03.03) / А.В. Платёнкин [и др.]. – Электрон. текстовые данные. – Тамбов: Тамбовский государственный технический университет, ЭБС АСВ, 2015. – 80 c. – 978-5- 8265-1409-2. – Режим доступа: http://www.iprbookshop.ru/64560.html.

    1. Золотов С.Ю. Проектирование информационных систем [Электронный ресурс] : учебное пособие / С.Ю. Золотов. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 88 c. – 978-5-4332-0083-

  1. – Режим доступа: http://www.iprbookshop.ru/13965.html.



ЛАБОРАТОРНАЯ РАБОТА № 5. ПОСТРОЕНИЕ ДИАГРАММ ПОТОКОВ ДАННЫХ И ГЕНЕРАЦИЯ КОДА


Цель: получение навыков построения диаграмм потоков данных.

Теоретические вопросы

Понятие диаграммы потоков данных. Элементы диаграммы потоков данных. Хранилища данных.

Потоки управления.

Задание № 1. Ознакомиться с методологией построения диаграмм потоков данных.

Диаграммы потоков данных (Data Flow Diagrams – DFD) используются для описания движения документов и обработки информации как дополнение к IDEF0. В отличие от IDEF0, где система рассматривается как взаимосвязанные работы, стрелки в DFD показывают лишь то, как объекты (включая данные) движутся от одной работы к другой. DFD отражает функциональные зависимости значений, вычисляемых в системе, включая входные значения, выходные значения и внутренние хранилища данных. DFD – это граф, на котором показано движение значений данных от их источников через преобразующие их процессы к их потребителям в других объектах.

DFD содержит процессы, которые преобразуют данные, потоки данных, которые переносят данные, активные объекты, которые производят и потребляют данные, и хранилища данных, которые пассивно хранят данные.

Диаграмма потоков данных содержит:

    • процессы, которые преобразуют данные;

    • потоки данных, переносящие данные;

    • активные объекты, которые производят и потребляют данные;

    • хранилища данных, которые пассивно хранят данные.

Процесс DFD преобразует значения данных и изображается в виде эллипса, внутри которого помещается имя процесса (рисунок 11).



style="position: absolute; top: 0.18in; left: 1.5in"



Рисунок 11


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

Активным объектом является объект, который обеспечивает движение данных, поставляя или потребляя их. Хранилище данных – это пассивный объект в составе DFD, в котором данные сохраняются для последующего доступа (рисунок 12).


style="position: absolute; top: 0.25in; left: 2.28in"




Рисунок 12


Хранилища данных. Хранилище данных – это пассивный объект в составе DFD, в котором данные сохраняются для последующего доступа. Хранилище данных допускает доступ к хранимым в нем данным в порядке, отличном от того, в котором они были туда помещены. Агрегатные хранилища данных, как, например, списки и таблицы, обеспечивают доступ к данным в порядке их поступления, либо по ключам (рисунок 13).

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

функциональную модель необязательно. Тем не менее, иногда бывает полезно включать указанные предикаты в функциональную модель, чтобы в ней были отражены условия выполнения соответствующего процесса. Функция, принимающая решение о запуске процесса, будучи включенной в DFD, порождает в диаграмме поток управления и изображается пунктирной стрелкой (рисунок 14).



style="position: absolute; top: 0.26in; left: 2in"





Рисунок 13



style="position: absolute; top: 0.15in; left: 2in"


Рисунок 14


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

Если же для сложной системы ограничиться единственной контекстной диаграммой, то она будет содержать слишком большое количество источников и приемников информации, которые трудно расположить на листе бумаги нормального формата, и, кроме того, главный единственный процесс не раскрывает структуры распределенной системы.

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

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

альтернативы, условные вхождения и итерации. Условное вхождение означает, что данный компонент может отсутствовать в структуре. Альтернатива означает, что в структуру может входить один из перечисленных элементов. Итерация означает вхождение любого числа элементов в указанном диапазоне. Для каждого элемента данных может указываться его тип (непрерывные или дискретные данные). Для непрерывных данных может указываться единица измерения (кг, см и т.п.), диапазон значений, точность представления и форма физического кодирования. Для дискретных данных может указываться таблица допустимых значений.

Задание № 2. Проанализируйте пример построения диаграммы потоков данных (рисунок 15).



style="position: absolute; top: 0.18in; left: 1.52in"



Рисунок 15


Задание № 3. Постройте диаграмму потоков данных для выбранной информационной системы (практическая работа № 11).

Задание № 4. Оформите отчет.


Литература


  1. Грекул В.И. Проектирование информационных систем. Курс лекций [Электронный ресурс]

: учебное пособиеnдля студентов вузов, обучающихся по специальностям в области информационных технологий / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. – Электрон.

текстовые данные. – Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Вузовское образование, 2017. – 303 c. – 978-5-4487-0089-7. – Режим доступа: http://www.iprbookshop.ru/67376.html.

  1. Проектирование информационных систем. Проектный практикум [Электронный ресурс] : учебное пособие для студентов дневного и заочного отделений, изучающих курсы

«Проектирование информационных систем», «Проектный практикум», обучающихся по направлению 230700.62 (09.03.03) / А.В. Платёнкин [и др.]. – Электрон. текстовые данные. – Тамбов: Тамбовский государственный технический университет, ЭБС АСВ, 2015. – 80 c. – 978-5- 8265-1409-2. – Режим доступа: http://www.iprbookshop.ru/64560.html.

  1. Золотов С.Ю. Проектирование информационных систем [Электронный ресурс] : учебное пособие / С.Ю. Золотов. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 88 c. – 978-5-4332-0083-

  1. – Режим доступа: http://www.iprbookshop.ru/13965.html.



ЛАБОРАТОРНАЯ РАБОТА № 6. УСТАНОВКА И НАСТРОЙКА СИСТЕМЫ КОНТРОЛЯ ВЕРСИЙ С РАЗГРАНИЧЕНИЕМ РОЛЕЙ


Цель: получение навыков построения диаграмм потоков данных.

Теоретические вопросы

Понятие системы контроля версий (СКВ), решаемые задачи.

Основные понятия СКВ и их отношения: хранилище, commit, история, рабочая копия. Отличия централизованных и децентрализованных СКВ. Примеры СКВ каждого вида. Действия с СКВ при единоличной работе с хранилищем.

Порядок работы с общим хранилищем в централизованной СКВ.

Задание № 1. Изучите систему контроля версий, установленную на компьютере (например, TortoiseSVN). При необходимости установите систему контроля версий TortoiseSVN. Опишите основные возможности системы контроля версий.

Задание № 2. Создайте новый проект. Создайте локальный репозиторий для своего проекта.

Удалите созданный проект на своем компьютере и обновите проект из репозитория.

Задание № 3. Внесите изменения в файлах с исходными кодами и сохраните изменения в репозитории. Обновите файлы с исходными кодами из репозитория. Внесите изменения в файлах с исходными кодами таким образом, чтобы у двух участников проекта изменения были в одном и том же файле. Попытайтесь сохранить изменения в репозитории. Устраните обнаруженные конфликты версий. Повторно сохраните изменения в репозитории. Создайте отдельную ветку проекта. Внесите изменения в файлы с исходными кодами.

Задание № 4. Объедините созданную на предыдущем шаге ветку с основной веткой проекта. Выведите на экран данные изменений файла, в котором было наибольшее количество изменений. Отобразите на экране сравнение фала до и после внесения одного из изменений.

Задание № 5. Создайте репозитарий в сети Интернет. Удалите созданный проект на своем компьютере и обновите проект из репозитория. Внесите изменения в файлах с исходными кодами и сохраните изменения в репозитории. Обновите файлы с исходными кодами из репозитория. Внесите изменения в файлах с исходными кодами таким образом, чтобы у двух участников проекта изменения были в одном и том же файле. Попытайтесь сохранить изменения в

репозитории. Устраните обнаруженные конфликты версий. Повторно сохраните изменения в репозитории. Создайте отдельную ветку проекта. Внесите изменения в файлы с исходными кодами.

Задание № 6. Оформите отчет.


Литература


    1. Грекул В.И. Проектирование информационных систем. Курс лекций [Электронный ресурс]

: учебное пособиеnдля студентов вузов, обучающихся по специальностям в области информационных технологий / В.И. Грекул, Г.Н. Денищенко, Н.Л. Коровкина. – Электрон. текстовые данные. – Москва, Саратов: Интернет-Университет Информационных Технологий (ИНТУИТ), Вузовское образование, 2017. – 303 c. – 978-5-4487-0089-7. – Режим доступа: http://www.iprbookshop.ru/67376.html.

    1. Проектирование информационных систем. Проектный практикум [Электронный ресурс] : учебное пособие для студентов дневного и заочного отделений, изучающих курсы

«Проектирование информационных систем», «Проектный практикум», обучающихся по направлению 230700.62 (09.03.03) / А.В. Платёнкин [и др.]. – Электрон. текстовые данные. – Тамбов: Тамбовский государственный технический университет, ЭБС АСВ, 2015. – 80 c. – 978-5- 8265-1409-2. – Режим доступа: http://www.iprbookshop.ru/64560.html.

    1. Золотов С.Ю. Проектирование информационных систем [Электронный ресурс] : учебное пособие / С.Ю. Золотов. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 88 c. – 978-5-4332-0083-

  1. – Режим доступа: http://www.iprbookshop.ru/13965.html.

4. Стешин А.И. Информационные системы в организации [Электронный ресурс] : учебное пособие / А.И. Стешин. – 2-е изд. – Электрон. текстовые данные. – Саратов: Вузовское образование, 2019. – 194 c. – 978-5-4487-0385-0. – Режим доступа: http://www.iprbookshop.ru/79629.html.



ЛАБОРАТОРНАЯ РАБОТА № 7. ПРОЕКТИРОВАНИЕ И РАЗРАБОТКА ИНТЕРФЕЙСА ПОЛЬЗОВАТЕЛЯ


Цели: получение навыков проектирования и разработки интерфейса пользователя.

Теоретические вопросы

Понятие пользовательского интерфейса. Виды пользовательских интерфейсов.

Основные элементы пользовательского интерфейса. Требования к разработке пользовательского интерфейса.

Задание № 1. Настроить среду разработки Visual Studio. Создать приложение для Windows, которое имитирует игровой автомат со «счастливыми» числами. Программа должна иметь следующий интерфейс (рисунок 16).

При нажатии на кнопку «Крутить» должны генерироваться три случайных числа от 0 до 9. Если хотя бы одно из них равно семи, на форме должны появляться надпись «Счастливая семерка» и картинка с изображением человека, платящего игроку деньги при выигрыше. При

нажатии на кнопке «Выход» программа должна завершать работу. Решение сохранить под именем

«Игра». Создать исполняемый файл приложения.



style="position: absolute; top: 0.15in; left: 2.58in"


Рисунок 16


Задание № 2. Добавить в созданную форму метку и организовать отображение на ней процента выигрышей по отношению к общему числу нажатий на кнопку «Крутить».

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

Задание № 4. Создать приложение для Windows «Продажи он-лайн», которое позволяет выбрать для заказа компьютер, офисную технику и периферийные устройства с выводом в форму изображения выбранного оборудования, указать способ оплаты и желаемую дату поставки. Возможные способы оплаты: рубли, доллары США, английские фунты. При выборе способа оплаты должно появляться его символическое изображение. Пользователь, выбрав товары для заказа, вводит название фирмы. Рекомендуемый интерфейс приложения приведен на рисунке 17.


style="position: absolute; top: 0.25in; left: 1.7in"


Рисунок 17

Решение сохранить под именем «Продажи». Создать исполняемый файл приложения.

Задание № 5. Добавить в список офисной техники «МФУ» и добавить еще один объект PictureBox для отображения рисунка МФУ. Соответствующим образом изменить программный код.

Задание № 6. Добавить в способы оплаты «Чек».


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 8. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ОБРАБОТКИ ЧИСЛОВЫХ ДАННЫХ. ОТЛАДКА ПРИЛОЖЕНИЯ


Цели: получение навыков реализации алгоритмов обработки числовых данных, отладки приложений.

Теоретические вопросы

Элементы управления, используемые для обработки числовых данных.

Задание № 1. Разработать приложение Windows, которое по заданным значениям: цены покупки, суммы первоначального платежа, годовой процентной ставки и срока кредита рассчитывает размер ежемесячных выплат по кредиту, а также строит схему платежей за каждый период (месяц) с разделением на основные платежи и платежи по процентам. Рассчитать также сумму всех основных платежей (для контроля) и сумму платежей по процентам (размер переплаты). Рекомендуемый интерфейс приложения показан на рисунке 18.

Решение сохранить под именем «Платежи по кредиту».

Задание № 2. Внесите изменения в программный код так, чтобы в схеме платежей в 4-ом столбце отображалась общая сумма платежа за каждый период.

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

Задание № 4. Предусмотрите возможность пересмотра схемы платежей на оставшиеся периоды, если в некоторый период внесен платеж больше требуемой суммы. Рассмотреть такую схему погашения, при которой не уменьшается срок погашения кредита, а уменьшается сумма периодического платежа в последующих периодах.


Рисунок 18


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 9. РЕАЛИЗАЦИЯ АЛГОРИТМОВ ПОИСКА. ОТЛАДКА ПРИЛОЖЕНИЯ


Цели: получение навыков реализации алгоритмов поиска данных, отладки приложений.

Теоретические вопросы Алгоритмы поиска в тексте. Алгоритмы поиска в массивах.

Задание № 1. Написать программу «Результаты сессии», которая для выбранной из списка группы запрашивает ввод: − списка группы; − количества и названий предметов, по которым

данная группа сдавала экзамены в последнюю сессию; − оценок студентов по предметам. Программа должна также:

  • отображать результаты сессии по данной группе;

  • вычислять качество знаний (процент студентов, успевающих на «хорошо» и «отлично»);

  • вычислять процент успеваемости в группе (процент студентов, сдавших сессию);

  • определять количество студентов, успевающих на «отлично».

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

В программе должны быть созданы 3 формы: главная форма «Результаты сессии и расчет стипендии», форма для отображения результатов сессии и форма «Размер стипендии» (рисунки 19, 20, 21, 22, 23, 24, 25, 26).


style="position: absolute; top: 0.25in; left: 2.88in"


Рисунок 19



style="position: absolute; top: 0.15in; left: 1.8in"


Рисунок 21



style="position: absolute; top: 0.17in; left: 2.39in"


Рисунок 22



style="position: absolute; top: 0.15in; left: 2.71in"


Рисунок 23



style="position: absolute; top: 0.15in; left: 2.62in"


Рисунок 25


style="position: absolute; top: 0.2in; left: 2.89in"


Рисунок 26


Задание № 2. Написать программы, иллюстрирующие применение методов линейного поиска, поиска делением пополам, а также различные методы сортировки массивов.


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 10. РЕАЛИЗАЦИЯ ОБРАБОТКИ ТАБЛИЧНЫХ ДАННЫХ. ОТЛАДКА ПРИЛОЖЕНИЯ


Цель: получение навыков обработки табличных данных, отладки приложений.

Теоретические вопросы

Обработка табличных данных в приложениях.

Задание № 1. Организовать работу с базой данных Студенты, которая храниться в текстовом файле. При выборе в списке ComboBox определенной группы на форме Списки групп отобразит в сетке данных DataGridView только фамилии студентов данной группы. Рекомендуемый интерфейс приложения изображен на рисунке 27.

Задание № 2. Создать запрос, который будет отбирать из базы данных Студенты фамилии студентов заданного курса, записывать их вместе с названием группы во временный файл СтудентыВрем и отображать на форме с помощью элемента DataGridView.


style="position: absolute; top: 0.25in; left: 2.71in"


Рисунок 27




Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 11. РАЗРАБОТКА И ОТЛАДКА ГЕНЕРАТОРА СЛУЧАЙНЫХ СИМВОЛОВ


Цель: получение навыков разработки и отладки генератора случайных символов.

Теоретические вопросы

Понятие генератора случайных символов. Управление генератором случайных символов.

Задание № 1. Разработать генератор случайных чисел.

Случайные числа в языке программирования С++ могут быть сгенерированы функцией rand() из стандартной библиотеки С++. Функция rand() генерирует числа в диапазоне от 0 до

RAND_MAX. RAND_MAX – это константа, определённая в библиотеке . Для MVS RAND_MAX = 32767, но оно может быть и больше, в зависимости от компилятора. Ниже показана простая программка, использующая генератор случайных чисел rand():

#include "stdafx.h" #include using namespace std;


int main(int argc, char* argv[])

{

cout

cout запуск генератора случайных чисел system("pause");

return 0;

}

Максимальное случайное число в примере – это 32767. Зачастую, нам не нужен такой большой диапазон чисел от 0 до RAND_MAX. Например, в игре «Наперстки» необходимо отгадать, под каким из трёх напёрстков спрятан шарик, то есть генерация чисел должна выполняться в пределе от 1 до 3-х. Бросая монету, может возникнуть только два случая, когда монета упадёт «орлом» или «решкой» вверх, нужный интервал – от 1 до 2. Возникает потребность в масштабировании интервала генерации случайных чисел. Для того чтобы масштабировать интервал генерации чисел нужно воспользоваться, операцией нахождения остатка от деления «%»:

// пример масштабирования диапазона генерации случайных чисел rand() % 3 +1 // диапазон равен от 1 до 3 включительно

Число 3 является масштабируемым коэффициентом. То есть, какое бы не выдал число генератор случайных чисел rand() запись rand() % 3 в итоге выдаст число из диапазона от 0 до 2. Для того чтобы сместить диапазон, мы прибавляем единицу, тогда диапазон изменится на такой – от 1 до 3 включительно.

Задание № 2. Разработать программу, использующую масштабируемый генератор случайных чисел. Ниже показан код программы, которая несколько раз запускает функцию rand().

// rand_ost.cpp: определяет точку входа для консольного приложения.


#include "stdafx.h" #include using namespace std;


int main(int argc, char* argv[])

{

cout

cout

cout

cout

cout

cout

cout

cout

system("pause"); return 0;

}

При повторном запуске программы, печатаются те же самые числа. Суть в том, что функция rand() один раз генерирует случайные числа, а при последующих запусках программы всего лишь отображает сгенерированные первый раз числа. Такая особенность функции rand() нужна для того, чтобы можно было правильно отладить разрабатываемую программу. При отладке программы, внеся какие-то изменения, необходимо удостовериться, что программа срабатывает правильно, а это возможно, если входные данные остались те же, то есть сгенерированные числа. Когда программа успешно отлажена, нужно, чтобы при каждом выполнении программы генерировались случайные числа. Для этого нужно воспользоваться функцией srand() из стандартной библиотеки С++. Функция srand() получив целый положительный аргумент типа unsigned или unsigned int (без знаковое целое) выполняет рандомизацию, таким образом, чтобы при каждом запуске программы функция srand() генерировала случайные числа. Программа, использующая функцию srand() для рандомизации генератора случайных чисел rand():

// srand.cpp: определяет точку входа для консольного приложения.


#include "stdafx.h" #include using namespace std;


int main(int argc, char* argv[])

{

unsigned rand_value = 11;

srand(rand_value); // рандомизация генератора случайных чисел cout

cout генератора случайных чисел

cout

system("pause"); return 0;

}

Задание № 3. Разработать обобщённый пример использования автоматического генератора случайных чисел с масштабированием. Пример работы программы:

// srand_time.cpp: определяет точку входа для консольного приложения. #include "stdafx.h"

#include

#include using namespace std;


int main(int argc, char* argv[])

{

srand( time( 0 ) ); // автоматическая рандомизация cout

return 0;

}

Теперь при каждом срабатывании программы будут генерироваться совершенно случайные числа в интервале от 1 до 10, включительно.

Задание № 4. Разрабать генератор случайных символов. Сформировать случайную сивольную последовательность.


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 12. ИНТЕГРАЦИЯ МОДУЛЯ В ИНФОРМАЦИОННУЮ СИСТЕМУ


Цель: получение навыков интеграции модулей в информационную систему.

Теоретические вопросы

Понятие модуля.

Управление модулями.

Задание № 1. Создать файл, содержащий сведения о сдаче студентами сессии. Структура записи: индекс группы, фамилия студента с его инициалами, оценки по четырем экзаменам и пяти зачетам («з» означает зачет, «н» – незачет). Экзамены и зачеты нумеровать цифрами. Количество записей в файле не менее двадцати.

При разработке приложения использовать стандартные модули.

Задание № 2. Разработать программу, интегрирующую модули из приложения, разработанного в рамках задания №1, выводящую следующую информацию:

  • фамилии неуспевающих студентов с указанием индексов групп и вида задолженности;

  • фамилии студентов, сдавших все зачеты и получившие на экзаменах четверки и пятерки;

  • средний бал, полученный каждым студентом.


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 13. РАЗРАБОТКА ПРИЛОЖЕНИЙ ДЛЯ МОДЕЛИРОВАНИЯ ПРОЦЕССОВ И ЯВЛЕНИЙ. ОТЛАДКА ПРИЛОЖЕНИЯ


Цель: получение навыков разработки и отладки приложений для моделирования процессов и явлений.

Теоретические вопросы

Понятие модели.

Моделирование процессов и явлений.

Технологии моделирования процессов и явлений в приложениях.

Задание № 1. Разработать физико-математическую модель системы при сободном падении физического тела, брошенного с высоты h и падающего свободно в течение t времени. При построении модели принять следующие гипотезы:

  1. падение происходит в вакууме (то есть коэффициент сопротивления воздуха равен нулю);

  2. ветра нет;

  3. масса тела неизменна;

  4. тело движется с одинаковым постоянным ускорением g в любой точке.

Слово "модель" (лат. modelium) означает "мера", "способ", "сходство с какой-то вещью".

Проблема моделирования состоит из трех взаимосвязанных задач: построение новой (адаптация известной) модели; исследование модели (разработка метода исследования или адаптация, применение известного); использование (на практике или теоретически) модели.

Схема построения модели М системы S с входными сигналами X и выходными сигналами Y изображена на рисунке 28.


style="position: absolute; top: 0.25in; left: 2.13in"


Рисунок 28


Если на вход М поступают сигналы из X и на входе появляются сигналы из Y, то задан закон, правило f функционирования модели, системы.

Классификацию моделей проводят по различным критериям.

Модель – статическая, если среди параметров описания модели нет (явно) временного параметра.

Модель – динамическая, если среди параметров модели явно выделен временной параметр.

Модель – дискретная, если описывает поведение оригинала лишь дискретно, например, в дискретные моменты времени (для динамической модели).

Модель – непрерывная, если описывает поведение оригинала на всем промежутке времени.

Модель – детерминированная, если для каждой допустимой совокупности входных параметров она позволяет определять однозначно набор выходных параметров; в противном случае – модель недетерминированная, стохастическая (вероятностная).

Модель – функциональная, если представима системой функциональных соотношений (например, уравнений).

Модель – теоретико-множественная, если представима некоторыми множествами и отношениями их и их элементов.

Модель – логическая, если представима предикатами, логическими функциями и отношениями.

Модель – информационно-логическая, если она представима информацией о составных элементах, подмоделях, а также логическими отношениями между ними.

Модель – игровая, если она описывает, реализует некоторую игровую ситуацию между элементами (объектами и субъектами игры).

Модель – алгоритмическая, если она описана некоторым алгоритмом или комплексом алгоритмов, определяющим ее функционирование, развитие. Введение такого, на первый взгляд, непривычного типа моделей (действительно, кажется, что любая модель может быть представлена алгоритмом ее исследования), на наш взгляд, вполне обосновано, так как не все модели могут быть исследованы или реализованы алгоритмически.

Модель – графовая, если она представима графом (отношениями вершин и соединяющих их ребер) или графами и отношениями между ними.

Модель – иерархическая (древовидная), если она представима иерахической структурой (деревом).

Модель – языковая, лингвистическая, если она представлена некоторым лингвистическим объектом, формализованной языковой системой или структурой. Иногда такие модели называют вербальными, синтаксическими и т.п.

Модель – визуальная, если она позволяет визуализировать отношения и связи моделируемой системы, особенно в динамике.

Модель – натурная, если она есть материальная копия оригинала.

Модель – геометрическая, если она представима геометрическими образами и отношениями между ними.

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

Задание № 2. Разработать статическая модель движения тела по наклонной плоскости F = am. Динамическая модель типа закона Ньютона: F(t) = a(t)m(t) или, еще более точно и лучше, F(t)=s''(t)m(t). Если рассматривать только t = 0.1, 0.2, …, 1 (с), то модель St = gt2/2 или числовая последовательность S0 = 0, S1 = 0.01g/2, S2 = 0.04g, …, S10 = g/2 может служить дискретной моделью движения свободно падающего тела. Модель S = gt2/2, 0 промежутке времени (0;10).

Задание № 3. Разработать модель популяции рыб, из которой в текущий момент времени изымается некоторое количество особей (идет лов рыбы). Динамика такой системы определяется моделью вида: xi + 1 = xi + аxi – kxi, х0 = c , где k – коэффициент вылова (скорость изъятия особей). Стоимость одной пойманной рыбы равна b руб. Цель моделирования – прогноз прибыли при заданной квоте вылова. Для этой модели можно проводить имитационные вычислительные эксперименты и далее модифицировать модель, например следующим образом.

Эксперимент 1. Для заданных параметров a, c изменяя параметр k, определить его наибольшее значение, при котором популяция не вымирает.

Эксперимент 2. Для заданных параметров c, k изменяя параметр a, определить его наибольшее значение, при котором популяция вымирает.

Модификация 1. Учитываем естественную гибель популяции (за счет нехватки пищи, например) с коэффициентом смертности, равным, b: xi + 1 = xi + аxi – (k + b)xi, х0 = c .

Модификация 2. Учитываем зависимость коэффициента k о от x (например, k = dx):


.


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.



ЛАБОРАТОРНАЯ РАБОТА № 14. ПРОГРАММИРОВАНИЕ ОБМЕНА СООБЩЕНИЯМИ МЕЖДУ МОДУЛЯМИ


Цели: получение навыков программирования обмена сообщениями между модулями.

Теоретические вопросы

Понятие и структура сообщения. Обмен сообщениями между модулями.

Задание № 1. Составить программу, помогающую сотрудникам Государственной инспекции безопасности дорожного движения (ГИБДД) обработать следующие данные: регистрационный номер автомобиля, марка автомобиля, цвет автомобиля, год выпуска, адрес владельца. Программа должна по требованию пользователя выдавать следующие сведения:

    • адреса владельцев автомобилей заданной марки, определенного цвета;

    • все данные об автомобиле с заданным регистрационным номером;

    • все данные об автомобилях с известной цифровой частью регистрационного номера.

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

Задание № 3. Разработать схему межмодульных вызовов.

Задание № 4. Проанализировать способы передачи аргументов между функциями и целесообразность использования глобальных данных.


Литература


  1. Страуструп Б. Язык программирования C++ для профессионалов [Электронный ресурс] / Б. Страуструп. – 2-е изд. – Электрон. текстовые данные. – М. : Интернет-Университет Информационных Технологий (ИНТУИТ), 2016. – 670 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/73737.html.

  2. Кирнос В.Н. Информатика 2. Основы алгоритмизации и программирования на языке C++ [Электронный ресурс] : учебно-методическое пособие / В.Н. Кирнос. – Электрон. текстовые данные. – Томск: Томский государственный университет систем управления и радиоэлектроники, Эль Контент, 2013. – 160 c. – 2227-8397. – Режим доступа: http://www.iprbookshop.ru/14011.html.

  3. Зоткин С.П. Программирование на языке высокого уровня C/C++ [Электронный ресурс] : конспект лекций / С.П. Зоткин. – 3-е изд. – Электрон. текстовые данные. – М. : МИСИ-МГСУ, ЭБС АСВ, 2018. – 140 c. – 978-5-7264-1810-0. – Режим доступа: http://www.iprbookshop.ru/76390.html.


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!