6.1. Алгоритм и его свойства
Слово "АЛГОРИТМ", как известно, происходит от видоизменённого имени древнего гениального арабского учёного Аль Хорезми. Поначалу дадим нестрогое, простейшее определение понятия "алгоритм":
АЛГОРИТМ – это некая система предписаний (инструкций), обязательно ведущих к достижению некоторого желаемого результата.
Если как следует призадуматься над этой фразой, то мы всю жизнь от рождения и до последнего часа живём в мире алгоритмов.
Иногда алгоритм предельно прост и выполняется рефлекторно. Например, человек прикоснулся к раскалённому предмету. Он сразу отдёргивает руку и дует на неё или подставляет под холодную воду. Рука спасена.
Ещё один простой пример. Если горит красный сигнал светофора, то переходить улицу нельзя, и мы стоим. Цвет сменился на жёлтый, а затем на зелёный – мы начинаем и совершаем переход.
В течение жизни алгоритмы сменяют друг друга и всё усложняются. Примером тут может служить уже целый комплекс алгоритмов, называемый "Правила дорожного движения".
Приведём несколько "академичный" пример алгоритма. Допустим, проводится тестирование. Вместе с вопросом испытуемому предлагается ряд ответов, из которых только один правильный. Алгоритм поведения человека в данном случае сильно зависит от степени его подготовки. Если он хорошо представляет себе проблему, то сразу указывает верный ответ. Если – не очень, то обычно применяется следующий алгоритм: исходя от противного, отбрасываются заведомо негодные ответы, в сузившемся круге поиска легче догадаться, что правильно, а что – нет. Наконец, крайний случай – не готов! Тогда алгоритма просто нет – наугад!
И таких примеров из обычной повседневной жизни можно привести великое множество.
Теперь уточним определение алгоритма:
АЛГОРИТМ – это конечная последовательность простейших формул и логических правил, чётко и недвусмысленно определяющих весь ход решения какой-либо задачи, который состоит в упорядоченном выполнении различных операций над данными с целью получения искомого ответа (результата) за к о н е ч н о е число шагов.
Алгоритм должен обладать следующими обязательными свойствами (характеристиками). К основным свойствам алгоритма относятся:
-
Понятность. Элементы алгоритма (формулы, логические предписания) должны однозначно распознаваться (быть понятыми) "исполнителем" (человеком или устройством).
-
Дискретность. Описываемый алгоритмом процесс и сам алгоритм могут быть разбиты на отдельные самостоятельные или взаимосвязанные элементарные этапы, возможность выполнения которых на ЭВМ у пользователя не вызывает сомнений.
-
Определённость. Предписания, входящие в алгоритм, должны быть точными и понятными. Они должны обеспечивать однозначность результата вычислительного процесса при заданных исходных данных и не допускать произвольных действий.
Именно благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче. То есть, исполнитель (человек или устройство) может выполнять его слепо, не имея о решаемой задаче никакого представления и всё равно приходя к нужному результату.
-
Результативность. Это свойство означает, что алгоритм должен приводить к получению результата за конечное число шагов, иначе работа с ним теряет всякий практический смысл. Само количество шагов может определяться какими-либо ограничениями, например, количеством повторяемых действий или заданной точностью расчёта (величиной разницы между результатами, полученными на предыдущем и текущем шаге алгоритма).
-
Массовость. Предполагается, что алгоритм разрабатывается в общем виде, т. е. он может быть пригоден для решения не одной, а некоторого класса задач определённого типа. При этом они могут различаться лишь значениями исходных данных. Например, алгоритм расчёта стоимости партии товаров (в отличие от величины получаемого при этом результата!) с учётом назначенной для него скидки не зависит от значений цены единицы товара, его количества и процента скидки. Аналогично, алгоритм расчёта заработной платы для бригады работников одинаков для любого их количества и сумм, начисленных каждому из них.
Отсутствие или неполнота любого из этих свойств лишает алгоритм совершенства и возможности его успешной автоматической реализации.
- Теоретические разделы курса “информатика”
- Введение
- Раздел 1. Базовые понятия курса “информатика” Глава 1. Введение в экономическую информатику
- Информационные процессы в экономике. Основные понятия информатики и информатизации
- Информация и данные
- Экономическая информация и ее свойства
- Классификация экономической информации
- Структура экономической информации
- Оценка экономической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 2. Программные средства реализации информационных процессов
- 2.1. Назначение и классификация программного обеспечения
- 2.2.1. Базовое программное обеспечение
- 2.2.2. Классификация операционных систем
- 2.2.3. Сервисное программное обеспечение
- 2.3. Инструментарий технологии программирования
- 2.4. Состав и назначение прикладного программного обеспечения
- 2.4.2. Методо-ориентированные пакеты прикладных программ
- 2.4.3. Пакеты прикладных программ общего назначения
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 3. Технические средства реализации информационных процессов
- 3.1. Техническая основа реализации информационных процессов
- Эволюция компьютерных информационных технологий
- Арифметико-логическое устройство
- Устройство управления и интерфейс
- Процессорная память
- 3.2. Поколения электронных вычислительных машин
- 3.3. Классификация технических средств обработки информации
- 3.4. Персональные компьютеры
- 3.5. Структурная схема персонального компьютера
- Системная шина
- Контроллеры Системная плата
- 3.6. Принципы функционирования персонального компьютера
- Установка адреса начальной команды
- 3.7. Основные архитектурные схемы вычислительных систем
- Память команд
- Память команд
- Память команд
- Память данных
- Память команд
- 3.8. Режимы работы компьютеров
- 3.9. Информация в технических устройствах
- Единицы измерения памяти
- Вопросы для самоконтроля
- Контрольные тесты
- Глав 4. Способы представления информации в компьютерах
- 4.1. Системы счисления
- 4.1.1. Позиционные системы счисления
- Системы счисления
- 4.1.2. Перевод чисел из одной системы счисления в другую
- 4.1.3. Двоичная, восьмеричная и шестнадцатеричная системы счисления
- Представление чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления
- 4.1.4. Выполнение арифметических операций в двоичной, восьмеричной и шестнадцатеричной системах счисления
- Сложение в двоичной системе
- Сложение в восьмеричной системе
- Сложение в шестнадцатеричной системе
- 4.2. Представление числовой информации. Прямой, обратный и дополнительный коды числа
- Диапазон значений целых чисел без знака
- Диапазон значений целых чисел со знаком
- 4.3. Представление символьной информации
- 4.4. Представление графической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 5. Логические основы построения персональных компьютеров
- 5.1. Аппарат алгебры логики
- Базовые логические операции
- 5.2. Основные аксиомы и законы алгебры логики
- 5.3. Логические элементы персональных компьютеров
- 5.4. Логические устройства с памятью
- Вопросы для самоконтроля
- Контрольные тесты
- Раздел 2. Основы алгоритмизации и программирования
- Глава 6. Понятие алгоритма и его основные формы
- 6.1. Алгоритм и его свойства
- 6.2. Формы представления алгоритма
- 1. Начало
- 8. Конец
- 6.3. Базовые алгоритмические структуры
- 6.3.2. Ветвящаяся (разветвлённая) структура
- Опер-р 1
- Опер-р 2
- Опер-р 20
- I нач.Знач.
- 6.4. Этапы развития программирования
- Глава 7. Объектно-ориентированное программирование в среде vba (Visual Basic for Application).
- 7.1. Что такое vba?
- 7.2. Основные понятия и элементы языка vba: объекты, свойства, методы, события, классы объектов
- 1. Объекты
- 3. Классы объектов
- Суперкласс
- Глава 8. Макросы в приложениях ms Office
- 8.1. Понятие макроса
- 8.2. Процесс создания макроса
- 8.3. Запуск макроса на исполнение
- АкБарсБанк
- 8.4. Код (текст) программы макроса и пояснения к нему
- 8.5. Корректировка макросов
- 8.6. Сохранение макросов в виде модулей
- Глава 9. Создание и выполнение vba – программ
- 9.1. Понятие об общем цикле создания vba – программы
- 9.2. Общие принципы построения vba-программы
- 9.3. Написание новых макросов и процедур
- 9.4. Выполнение vba-программы
- 9.5. Обработка ошибок
- Глава 10. Основные элементы языка программирования vba
- 10.1 Типы данных в vba.
- 10.2. Переменные vba.
- 10.3. Объявление переменных
- 10.4. Область действия переменной
- 10.5. Присвоение значения переменной
- 10.6. Константы
- 10.7. Массивы
- 10.7.1. Одномерные массивы
- 10.7.2. Многомерные массивы
- 10.8. Статические и динамические массивы
- 10.9. Структура текста программы и комментарии
- Глава 11. Примеры реализации различных макросов и фрагментов программ
- 11.1. Варианты реализации макросов
- 11.1.1. Порядок создания макросов в Excel
- 11.1.2. Задания на создание макросов в Excel
- 11.2. Варианты реализации разветвляющихся алгоритмов
- 11.3. Варианты реализации циклических алгоритмов
- 11.4. Вариант реализации смешанного алгоритма
- Раздел 3. Основы информационной безопасности
- Глава 12. Введение в информационную безопасность
- 12.1. Понятие информационной безопасности
- 12.2. Угрозы безопасности информации
- 12.3. Объекты и элементы защиты информации в компьютерных системах обработки данных
- Глава 13. Методы и средства защиты информации
- 13.1. Механизмы, методы и средства защиты информации
- 13.2. Средства опознания и разграничения доступа к информации
- 13.3. Криптографические методы защиты информации
- 13.3.1. Основные понятия криптографии
- 13.3.2. Криптографические ключи и методы защитных преобразований
- 13.3.3. Криптографические системы
- 13.4. Электронная цифровая подпись
- Глава 14. Компьютерные вирусы и спам
- 14.1. Понятие вредоносных программ
- 14.2. Понятие компьютерного вируса
- 14.3. Классификация компьютерных вирусов
- 14.4. Программы борьбы с компьютерными вирусами
- 14.5. Меры и средства защиты от компьютерных вирусов
- 14.6. Защита от спама
- Глава 15. Защита информации в корпоративных системах
- 15.1. Цели и задачи корпоративной системы информационной безопасности
- 15.2. Политики информационной безопасности
- 15.2.1. Основные понятия политик безопасности
- 15.2.2. Основные причины создания политик безопасности
- 15.2.3. Разработка политик безопасности
- 15.2.4. Пример постановки задачи разработки политики информационной безопасности предприятия
- 15.2.5. Особенности разработки политик безопасности в России
- 15.3. Аудит безопасности корпоративных систем Интенет/Интранет
- 15.3.1. Понятие аудита безопасности
- 15.3.2. Аудит безопасности для корпоративных пользователей
- 15.3.3. Возможности аудита безопасности
- 15.3.4. Практические шаги аудита безопасности
- 15.4. Проектирование системы обеспечения информационной безопасности предприятия
- Список литературы
- Содержание