5.3. Основные способы описания алгоритмов
Выбор способа описания алгоритма зависит от предполагаемого способа его реализации, от исполнителя. Кроме того, существуют различные методологические подходы к разработке алгоритмов, которые также определяют, каким образом алгоритм будет описан.
Словесное описание – это описание на естественном языке, когда исполнителем алгоритма является человек. Процесс описания алгоритма в этом случае предполагает получение ответов на ряд полезных вопросов, например, следующих:
Понятна ли терминология исполнителю?
Что дано в качестве исходных данных?
Что нужно найти (что будет результатом выполнения)?
Как определить решение?
Каких данных не хватает?
Являются ли какие-то имеющиеся данные бесполезными?
Какие сделаны допущения?
Возможны и другие вопросы в зависимости от конкретной задачи. Некоторые вопросы приходится ставить повторно.
Словесное описание обычно используется на первых этапах разработки алгоритма решения задачи. Для того чтобы решить задачу с помощью компьютера, словесное описание ее решения необходимо формализовать.
По мере совершенствования информационных технологий разрабатывались и развивались специальные методы, позволяющие записать алгоритмы, четко формализовать их описания.
Наиболее распространенным способом описания алгоритмов является описание алгоритмов в виде структурных блок-схем.
Блок-схема – это наглядное графическое представление алгоритма (рис. 1.7), в котором каждое предписание для исполнителя изображается плоской геометрической фигурой (блоком), а последовательность их выполнения указывается линиями со стрелками, соединяющими эти блоки. Иными словами, это ориентированная сеть (граф) с вершинами определенных типов.
Структурная блок-схема – это блок-схема, которая может быть выражена как композиция из трех основных (базовых) управляющих структур: следования, ветвления (выбора, альтернативы) и повторения (цикла, итерации).
Важная особенность структурных блок-схем заключается в том, что каждая из элементарных управляющих структур, а следовательно, и блок-схема, cоставленная из этих элементов, имеют один вход и один выход.
Пример структурной блок-схемы, описывающей итерационный алгоритм вычисления факториала, показан на рис. 1.7.
С точки зрения технологии нисходящего структурного проектирования любой алгоритм может быть представлен структурной блок-схемой.
Графическое представление алгоритмов решения задач в различных областях с помощью специальных графических нотаций, диаграмм принято как при разработке информационных систем, при анализе и моделировании деятельности предприятий и организаций, так и в других случаях, когда необходимо формально описать деятельность предприятий (например, при сертификации предприятия). Примеры таких описаний – диаграммы потоков работ (Workflow Diagram), функционального моделирования (IDEF0 Diagram).
Как только алгоритм описан и есть убеждение в его правильности, наступает этап реализации алгоритма. На этой стадии осуществляется написание кода программы для ЭВМ на одном из искусственных языков.
Для того чтобы сделать разработанный алгоритм «понятным» для выполнения на компьютере, его нужно записать с помощью языка программирования.
Описание алгоритма решения задачи на языке программирования представляет собой программу. Основное назначение программы – описание используемых при решении задачи данных (исходных и промежуточных данных, результатов вычислений) и шагов алгоритма в виде, пригодном для ввода в компьютер. Описываемые в программе данные и операции полезно комментировать.
При создании программы необходимо очень тщательно следить, чтобы программа на языке программирования, являющаяся реализацией правильного алгоритма, описанного в словесной форме на первых этапах решения задачи, также была правильной, проверенной и оттестированной. Поэтому эксплуатации программы предшествуют ее отладка, выявление и исправление синтаксических и логических ошибок, тестирование на широком диапазоне значений.
Весь процесс разработки и реализации алгоритма решения задачи должен сопровождаться документированием важной информации, связанной с различными этапами разработки, с принимаемыми на этих этапах решениями. Отсутствие документации может привести к проблемам при разрешении конфликтных ситуаций, которые могут возникнуть между разработчиком программы (исполнителем) и ее пользователем (заказчиком). Как и в любой другой области, в сфере информационных технологий, связанных с разработкой программных продуктов, невозможно требовать реализации решений, которые не были должным образом оформлены (документированы).
- Основы информатики и информационных технологий
- Оглавление
- Глава 8. Сети и сетевые технологии 112
- Глава 9. Ащита информации 129
- Предисловие
- Раздел 1. Введение в информатику
- Глава 1. Информатика и предмет ее исследования
- Глава 2. Понятие информации
- 2.1. Определение и свойства информации
- 2.2. Особенности экономической информации
- Глава 3. Роль информации в управлении
- 3.1. Одноконтурная схема управления экономическими системами
- 3.2. Информация и информационные системы в управлении
- Глава 4. Кодирование и представление информации
- 4.1. Основные определения
- 4.2. Связь между системами счисления
- 4.3. Системы счисления, используемые в эвм
- 4.4. Внутреннее представление данных в памяти компьютера
- 4.4.1. Представление чисел
- 4.4.2. Представление текстовых данных
- 4.4.3. Представление мультимедийной информации
- 4.5. Представление данных во внешней памяти компьютера
- Глава 5. Основы алгоритмизации
- 5.1. Определение и свойства алгоритмов
- 5.2. Основные этапы и методы разработки алгоритмов
- 5.3. Основные способы описания алгоритмов
- Раздел 2. Основы информационных технологий
- Глава 6. Аппаратное обеспечение вычислительных систем
- 6.1. Понятие архитектуры и принципы устройства вычислительных систем
- 6.2. Устройство персонального компьютера
- 6.2.1. Конфигурация персонального компьютера
- 6.2.2. Характеристики процессора
- 6.2.3. Организация памяти персонального компьютера
- 6.2.4. Устройства ввода/вывода
- 6.2.5. Внешние запоминающие устройства
- 6.3. Тенденции совершенствования архитектуры
- Глава 7. Программное обеспечение
- 7.1. Понятие программы
- 7.2. Классификация программного обеспечения
- 7.3. Системное программное обеспечение
- 7.3.1. Операционные системы
- Определение и функции операционных систем
- Классификация операционных систем
- Функция управления процессами
- Управление основными ресурсами
- Управление данными. Файловая система
- Управление внешними устройствами и организация ввода/вывода
- Интерфейс с пользователем
- 7.3.2. Операционные оболочки
- 7.3.3. Средства контроля и диагностики
- 7.3.4. Системы программирования
- 7.4. Системы управления базами данных
- 7.4.1. Основные понятия
- 7.4.2. Реляционный подход к управлению бд
- «Магазины»
- «Владельцы»
- «Магазины-Владельцы»
- «Поставки»
- «Товар»
- «Поставки»
- 7.4.3. Назначение и классификация субд
- 7.4.4. Средства описания и манипулирования данными в субд
- 7.4.5. Объектно-ориентированные субд
- 7.4.6. Категории пользователей
- 7.5. Прикладное программное обеспечение
- Глава 8. Сети и сетевые технологии
- 8.1. Определение, назначение и классификация сетей
- 8.2. Способы передачи информации, коммутация и маршрутизация в сетях
- 8.3. Организация взаимодействия в сетях
- 8.4. Топология сетей и методы доступа
- 8.5. Глобальная сеть Internet
- 8.5.1. Идентификация компьютеров в сети
- 8.5.2. Услуги Internet
- 8.5.3. Всемирная паутина World Wide Web
- 8.5.4. Электронная почта
- 8.5.5. Навигационные средства для Internet
- 8.6. Корпоративные сети на основе технологий Internet
- Глава 9. Защита информации
- 9.1. Информация как продукт
- 9.2. Концепция защищенной вс
- 9.2.1. Основные понятия
- 9.2.2. Этапы разработки системы защиты
- 9.2.3. Общая классификация вторжений и характеристика угроз
- 9.2.4. Система защиты
- 9.2.5. Защита объектов на регистрационном уровне и контроль доступа
- 9.3. Криптографические средства защиты информации
- 9.3.1. Основные понятия
- 9.3.2. Криптографические протоколы
- 9.3.3. Электронно-цифровые подписи и открытые сделки
- 9.3.4. Использование криптографической защиты в программных продуктах
- 9.3.5. Условия и ограничения использования криптографической защиты
- 9.4. Программные закладки и вирусы
- 9.5. Хакеры и проблема безопасности информационных систем
- 9.6. Защита информации от потери в результате сбоев
- 9.7. Правовая защита информации и программного обеспечения
- Глава 10. Интегрированные пакеты прикладных программ офисного назначения
- 10.1. Общая характеристика офисных пакетов
- 10.2. Основы редактирования текстовых документов
- 10.3. Использование электронных таблиц
- 10.4. Системы электронного перевода
- 10.5. Системы оптического распознавания текстов
- 10.6. Интеграция систем распознавания текстов, компьютерного перевода и офисных пакетов
- 10.7. Электронные презентации
- 10.8. Графические редакторы
- 10.9. Правовые системы
- 10.10. Учетные системы
- Глава 11. Системы аналитической обработки данных и искусственного интеллекта
- 11.1. Средства анализа данных математических пакетов
- 11.2. Введение в системы искусственного интеллекта
- 11.2.1. Основы экспертных систем
- 11.2.2. Представление и использование нечетких знаний
- 11.2.3. Нейронные системы и сети
- 11.2.4. Системы извлечения знаний
- 11.2.5. Инструментальные средства создания интеллектуальных приложений
- Раздел 3. Современные информационные технологии в экономике и управлении
- Глава 12. Основные понятия
- Глава 13. Эволюция информационных технологий
- Глава 14. Классификация информационных систем
- Глава 15. Корпоративные системы
- 15.1. Типовые технические решения
- 15.2. Корпоративные информационные порталы
- 15.3. Серверы BizTalk как основа средств интеграции информационных систем
- Глава 16. Методы и средства разработки информационных систем
- 16.1. Жизненный цикл информационных систем
- 16.1.1. Процессы жизненного цикла ис
- 16.1.2. Модели жизненного цикла
- 16.2. Методы и средства структурного анализа
- 16.3. Объектно-ориентированный подход к разработке информационных систем
- 16.4. Компонентно-ориентированные средства разработки ис
- Глава 17. Стандарты создания информационных систем
- 17.1. Стандарты кодирования и представления информации
- 17.1.1. Единая система классификации и кодирования технико-экономической и социальной информации
- 17.1.2. Нормативная база системы классификации и кодирования
- 17.2. Унификация и стандартизация документов
- 17.3. Поддержка стандартов управления бизнес-системами
- 17.3.1. Информационные технологии и реинжиниринг
- 17.3.2 Описание стандарта mrp II
- Стратегическое планирование
- Бизнес-планирование
- Планирование объемов продаж и производства
- Планирование ресурсов
- Главный план-график производства
- Общее планирование мощностей
- Mrp, или планирование потребностей в материалах
- Crp, или планирование потребностей в мощностях
- Drp, или планирование потребностей в распределении
- Глава 18. Основы электронной коммерции
- 18.1. Этапы развития электронной коммерции
- 18.2. Секторы рынка электронной коммерции
- 18.3. Инструментарий электронной коммерции
- 18.4. Электронные платежные системы
- Глава 19. Введение в мобильный бизнес
- 19.1. Возможности мобильного бизнеса
- 19.2. Обзор существующих технологий мобильного бизнеса
- 19.2.1. Терминальные устройства
- 19.2.2. Современные технологии построения цифровых каналов связи
- 19.2.3. Стандарты мобильного Internet
- 19.2.4. Проблемы мобильного Internet
- 19.2.5. Операционные системы для мобильных устройств
- 19.2.6. Средства разработки приложений мобильного бизнеса
- Библиографический список