Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

КурсРаб_АлгоритмПрогр_КОНОНОВА_230400.625_ИСиТ

.pdf
Скачиваний:
24
Добавлен:
20.05.2015
Размер:
650.14 Кб
Скачать

результат, выдаваемый программой с данными, полученными в ходе расчетов. Зачастую в силу логических или технических ошибок результат работы программы может отличаться от расчетного, поэтому необходимо удостовериться, что программа «посчитала правильно». В дальнейшем это поможет избежать неправильных выводов. Расчеты могут проводиться как вручную, так и с использованием специализированных пакетов: MS Excel, MathCad, Matlab и др.

3.3. Схема алгоритма решения задачи

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

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

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

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

Схема работы программы должна строиться в соответствии с требованиями ГОСТ 19.701 – 90 (ИСО 5807 – 85) Схемы алгоритмов, программ, данных и систем.

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

Основные элементы схемы представлены в таблице ниже (табл.1).

21

Таблица 1 – Некоторые обозначения, используемые в схемах алгоритмов

 

 

Символ

Название

 

Описание

 

 

 

 

 

 

 

 

Отображает

данные,

носитель

 

 

 

 

 

Данные

которых

 

не

определен.

 

 

 

 

 

Используется для ввода-вывода

 

 

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

Функция

 

обработки

данных

 

 

 

 

 

 

любого

 

вида

(выполнение

 

 

 

 

 

 

определенной

операции

или

 

 

 

 

 

 

группы операций, приводящее к

 

 

 

 

 

 

 

 

 

 

 

Процесс

изменению значения, формы или

 

 

 

 

 

 

размещения

информации

или к

 

 

 

 

 

 

 

 

 

 

 

 

определению, по которому из

 

 

 

 

 

 

нескольких

потоков

следует

 

 

 

 

 

 

двигаться)

 

 

 

 

 

 

 

 

 

 

Символ

 

 

отображает

 

 

 

 

 

 

предопределенный

процесс,

 

 

 

 

 

Предопределенный

состоящий

из

одной

или

 

 

 

 

 

 

 

 

 

 

нескольких операций или шагов

 

 

 

 

 

процесс

 

 

 

 

 

программы,

которые определены

 

 

 

 

 

 

 

 

 

 

 

 

в другом месте (в подпрограмме,

 

 

 

 

 

 

модуле)

 

 

 

 

 

 

 

 

 

 

 

Отображает

 

модификацию

 

 

 

 

 

Подготовка

команды

или группы команд с

 

 

 

 

 

целью воздействия на некоторую

 

 

 

 

 

 

 

 

 

 

 

 

последующую функцию

 

 

 

 

 

 

 

 

Символ отображает решение или

 

 

 

 

 

 

функцию

 

переключательного

 

 

 

 

 

 

типа, имеющую один вход и ряд

 

 

 

 

 

 

альтернативных выходов, один и

 

 

 

 

 

Решение

только один из которых может

 

 

 

 

 

 

быть

активирован

 

после

 

 

 

 

 

 

вычисления

 

 

условий,

 

 

 

 

 

 

определенных

внутри

 

этого

 

 

 

 

 

 

символа

 

 

 

 

 

22

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

Линия

23

Продолжение таблицы 1

 

 

 

 

 

 

 

Выход в часть схемы и вход из

 

 

 

 

 

 

Соединитель

другой

части

 

схемы

и

 

 

 

 

 

 

используется для обрыва линии и

 

 

 

 

 

 

 

 

 

 

 

 

 

 

продолжения ее в другом месте

 

 

 

 

 

 

 

Символ

отображает

выход во

 

 

 

 

 

 

 

внешнюю среду и вход из

 

 

 

 

 

 

 

внешней среды (начало или

 

 

 

 

 

 

Терминатор

конец

схемы

 

программы,

 

 

 

 

 

 

 

внешнее

 

использование

и

 

 

 

 

 

 

 

источник

или

пункт

назначения

 

 

 

 

 

 

 

данных)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Символ

 

используют

 

для

 

 

 

 

 

 

 

добавления

 

описательных

 

 

 

 

 

 

 

комментариев

 

 

 

 

или

 

 

 

 

 

 

 

пояснительных

записей

в

целях

 

 

 

 

 

 

 

объяснения

или

примечаний.

 

 

 

 

 

 

 

Пунктирные

линии

 

в

символе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Комментарий

комментария

 

связаны

с

 

 

 

 

 

 

 

соответствующим символом или

 

 

 

 

 

 

 

 

 

 

 

 

 

 

могут обводить группу символов.

 

 

 

 

 

 

 

Текст

комментариев

 

или

 

 

 

 

 

 

 

примечаний

 

должен

 

быть

 

 

 

 

 

 

 

помещен около ограничивающей

 

 

 

 

 

 

 

фигуры

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Символ (три точки) используют в

 

 

 

 

 

 

 

схемах

для

отображения

 

 

 

 

 

 

 

пропуска

символа

или

группы

 

 

 

 

 

 

 

символов,

в

которых

не

 

 

 

 

 

 

 

определены ни тип, ни число

 

 

 

 

 

 

 

символов.

Символ

пропуска

 

 

 

 

 

Пропуск

 

 

 

используют

только

 

в символах

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

линий или между ними. Он

 

 

 

 

 

 

 

применяется главным образом в

 

 

 

 

 

 

 

схемах,

изображающих

общие

 

 

 

 

 

 

 

решения

с неизвестным

числом

 

 

 

 

 

 

 

повторений.

 

 

 

 

 

 

Некоторые правила применения символов (выдержки из ГОСТ

19.701-90):

1. Символ предназначен для графической идентификации функции, которую он отображает, независимо от текста внутри этого символа.

24

2.Символы в схеме должны быть расположены равномерно. Следует придерживаться разумной длины соединений и минимального числа длинных линий.

3.Минимальное количество текста, необходимое для понимания функции данного символа, следует помещать внутри данного символа. Текст должен записываться слева направо сверху вниз. Если объем текста, помещаемого внутри символа, превышает его размеры, следует использовать символ комментария.

Некоторые правила выполнения соединений:

1.Потоки данных или потоки управления в схемах показываются линиями. Направление потока слева направо и сверху вниз считается стандартным. В случаях, когда необходимо внести большую ясность в схему, на линиях используются стрелки. Если поток имеет направление, отличное от стандартного, стрелки должны указывать это направление.

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

3. Две или более входящие линии могут объединяться в одну исходящую. В этом случае место объединения должно быть смещено.

Вданных методических рекомендациях приведены только некоторые символы, правила и рекомендации по построению блок-схем. Предполагается, что студенты будут работать с ГОСТ 19.701-90 самостоятельно.

Вкачестве инструментария для построения схем алгоритмов могут быть выбраны: MS Word, MS Visio, а также специализированные редакторы блок-схем (они доступны для свободного скачивания из сети Интернет).

3.4. Исходный текст программы

После построения схемы алгоритма программы начинается следующая стадия – кодирование.

Программа должна однозначно отображать алгоритм решения задачи. Разработка программы включает:

1.Подготовку тестовых исходных данных;

2.Написание текста программы на алгоритмическом языке;

3.Перенос программ и данных на машинные носители компьютера;

4.Отладку и тестирование программы.

Исходные данные представлены в задании.

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

25

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

Из опыта разработки программных систем определено, что число ошибок программирования (в тексте программы) составляет около 7 % от всего числа ошибок во время разработки. «Тяжесть» их исправления оценивается в 1 %. Относительное число ошибок, внесенных за счет неточностей постановки задачи и неправильного построения алгоритма, составляет около 83 %, а «тяжесть» их устранения – 95 %.

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

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

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

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

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

26

3.5. Руководство пользователя

Одним из этапов создания программного обеспечения является разработка руководства по работе с программой – руководство пользователя.

Оно должно содержать подробные инструкции по работе с программой, а также экранные формы, иллюстрирующие текст.

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

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

1.Действия при запуске программы (какой файл должен быть запущен, какие действия должны при этом выполняться).

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

3.Каким образом осуществляется ввод данных.

4.Как запустить автоматический расчет (или запустить программу на выполнение в случае моделирования какой-либо ситуации).

5.Какая информация выводится на экран.

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

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

3.6. Результаты работы программы для различных вариантов

В данном разделе нужно показать работу программы при задании различных исходных данных. Результаты удобно представить в виде таблицы (см. табл.1).

Кроме того, для каждого варианта должна быть графическая иллюстрация.

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

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

27

Таблица 2 – Примерная форма таблицы для представления результатов работы программы

Входные данные

Вариант 1

Вариант 2

Вариант 3

а – верхняя граница

1

25

0

b – нижняя граница

10

30

50

n – количество отрезков

10

20

30

разбиения

 

 

 

Результаты расчета

Вариант 1

Вариант 2

Вариант 3

d – искомое значение интеграла

2,465

2,786

2,985

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

3.7. Тестовые примеры для всех ветвей работы программы (как для корректной, так и для некорректной работы)

В любой программе должна быть предусмотрена защита от некорректных действий пользователя, а также обработка иных ошибок (например, ошибок инициализации графического режима). Иначе, в случае задания пользователем некорректных параметров или отсутствия файла графического модуля в директории, используемой по умолчанию, или при возникновении иных исключительных ситуаций, программа будет «вылетать». Обработка ошибок предполагает выдачу пользователю рекомендаций по их устранению. Например, если областью определения функции является область [0;+∞], а пользователь в качестве границы интервала вводит отрицательное число, ему должна быть выведена подсказка вида: «Число принадлежит отрезку [0;+∞]!!!».

Некоторые случаи, когда нужно прописывать обработку ошибок:

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

2.Число отрезков разбиения должно быть больше 0.

3.Если программа не может инициировать графический модуль, нужно вывести на экран соответствующее сообщение (например, «Ошибка инициализации графики!») и др.

В данном разделе необходимо протестировать все ветви работы программы на наличие возможных ошибок:

1.Ввод данных (попытаться определить все ошибки, которые возникнут при вводе исходных данных пользователем).

2.Решение.

3.Вывод графика (необходимо предусмотреть обработку ошибок инициализации графического режима).

28

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

3.8. Выводы по курсовой работе

По результатам выполнения курсовой работы необходимо сделать выводы, которые должны отражать следующие вопросы:

1.Какова была задача программирования? Была ли она решена и достигнуты ли основные цели?

2.Какие новые знания и навыки вы получили в процессе написания курсовой работы?

3.Полезен ли для вас опыт данной работы и где могут быть применены полученные знания?

29

4 СПИСОК РЕКОМЕНДУЕМОЙ ЛИТЕРАТУРЫ

1.О персональных данных: федеральный закон от 27.07.2006 № 152-ФЗ // Собрание законодательства Российской федерации, 2009. – 107 с.

2.О техническом регулировании : Федеральный Закон от 27 декабря 2002 г. № 84ФЗ // Собрание законодательства Российской Федерации, 2009. – 609 с.

3.Об информации, информатизации и защите информации : Федеральный Закон от 25.01.95 № 24-ФЗ // Собрание законодательства Российской Федерации, 2009. – 609 с.

4.ГОСТ 34.003-90 Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения – Введен 1991 – 0101 : Изд-во стандартов, 2012. – 459 с.

5.ГОСТ 34.602-89 Информационная технология. Комплекс стандартов на автоматизированные системы. Техническое задание на создание автоматизированной системы – Введен 1990

– 0101 : Изд-во стандартов, 2012. – 459 с.

6.О мерах по обеспечению Инноватики и информационных технологий Российской Федерации в сфере международного информационного обмена : указ Президента Российской Федерации от 12.05.2004 г. № 611 // Собрание законодательства,

2004. – 23 с.

7.Автоматизированные системы. Защита от несанкционированного доступа к информации. Классификация автоматизированных систем и требования по защите информации: руководящий документ Гостехкомиссии России // М. : Гостехкомиссия РФ, 2000. – 126 с.

8.Временное положение по организации разработки, изготовления и эксплуатации от несанкционированного доступа в автоматизированных системах и средствах вычислительной техники : руководящий документ Гостехкомиссии России / М. : Гостехкомиссия России, 2000 – 145 с.

9.ГОСТ Р ИСО/МЭК 15026-2002 Информационная технология. Уровни Целостности систем и программных средств – Введен 2003 – 0101 : Изд-во стандартов, 2008. – 34 с.

10.ГОСТ Р 51901.1-2002 Менеджмент риска. Анализ риска технологических систем – Введен 2003 – 0101 : Изд-во стандартов, 2012. – 459 с.

30