Вопрос 14 Алгоритм. Свойства алгоритма. Возможность автоматизации интеллектуальной деятельности человека.
Алгоритм — это информационная модель, описывающая процесс преобразования объекта из начального состояния в конечное в форме последовательности понятных исполнителю команд.
Рассмотрим информационную модель, описывающую процесс редактирования текста.
Во-первых, должны быть определены начальное состояние объекта и его конечное состояние (цель преобразования). Следовательно, для текста требуется задать начальную последовательность символов и конечную последовательность, которую надо получить после редактирования.
Во-вторых, чтобы изменить состояние объекта (значения его свойств), следует произвести над ним определенные действия (операции). Выполняет эти операции исполнитель. Исполнителем редактирования текста может быть человек, компьютер и др.
В-третьих, процесс преобразования текста нужно разбить на отдельные операции, записанные в виде отдельных команд исполнителю. Каждый исполнитель обладает определенным набором, системой команд, понятных исполнителю. В процессе редактирования текста возможны различные операции: удаление, копирование, перемещение или замена его фрагментов. Исполнитель редактирования текста должен быть в состоянии выполнить эти операции.
Разделение информационного процесса в алгоритме на отдельные команды является важным свойством алгоритма и называется дискретностью.
Чтобы исполнитель мог выполнить преобразование объекта согласно алгоритму, он должен быть в состоянии понять и выполнить каждую команду. Это свойство алгоритма называется определенностью (или точностью). Необходимо, чтобы алгоритм обеспечивал преобразование объекта из начального состояния в конечное за конечное число шагов. Такое свойство алгоритма называется конечностью (или результативностью).
Алгоритмы могут представлять процессы преобразования самых разных объектов. Широкое распространение получили вычислительные алгоритмы, которые описывают преобразование числовых данных. Само слово алгоритм происходит от algorithmi — латинской формы написания имени выдающегося математика IX в. аль-Хорезми, который сформулировал правила выполнения арифметических операций.
Алгоритм позволяет формализовать выполнение информационного процесса. Если исполнителем является человек, то он может выполнять алгоритм формально, не вникая в содержание поставленной задачи, а только строго выполняя последовательность действий, предусмотренную алгоритмом.
Вопрос 15 Алгоритмическая структура ветвления. Команды ветвления. Привести пример.
В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмические структуры ветвление входит условие, в зависимости от истинности условия выполняется та или иная последовательность команд (серий).
Будем называть условием высказывание, которое может быть либо истинным, либо ложным. Условие, записанное на формальном языке, называется условным или логическим выражением.
Условные выражения могут быть простыми и сложными. Простое условие включает в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой посредством операций сравнения (равно, больше, меньше и т. д.). Например:
strА=минформатика" и т. д.
Сложное условие — это последовательность простых условий, объединенных между собой знаками логических операций. Например:
And strА="информатика".
Алгоритмическая структура ветвление может быть записана различными способами:
— графически, с помощью блок-схемы;
— на языке программирования, например на языках Visual Basic и VBA, с использованием специальной инструкции ветвления (рис. 18).
После первого ключевого слова If должно быть размещено условие, после второго ключевого слова Then — последовательность команд (серия 1), которую необходимо выполнять, если условие принимает значение истина. После третьего ключевого слова Else размещается последовательность команд (серия 2), которую следует выполнять, если условие принимает значение ложь.
Оператор условного перехода может быть записан в многострочной или в однострочной форме.
В многострочной форме он записывается с помощью инструкции If. . . Then. . . Else. . . End If (Если... To... Иначе... Конец Если). В этом случае второе ключевое слово Then расположено на той же строчке, что и условие, а последовательность команд (серия 1) — на следующей. Третье ключевое слово Else находится на третьей строчке, а последовательность команд (серия 2) — на четвертой. Конец инструкции ветвления End If размещается на пятой строчке.
В однострочной форме этот оператор записывается в соответствии с инструкцией If... Then. . . Else (Если... То... Иначе). Если инструкция не помещается на одной строке, она может быть разбита на несколько строк. Такое представление инструкций более наглядно для человека. Компьютер же должен знать, что разбитая на строки инструкция представляет единое целое. Это обеспечивает знак «переноса», который задается символом подчеркивания после пробела.
Третье ключевое слово Else в сокращенной форме инструкции может отсутствовать. (Необязательные части оператора записываются в квадратных скобках.) Тогда, в случае если условие ложно, выполнение оператора условного перехода заканчивается и выполняется следующая строка программы.