Алгоритм означает способ, рецепт. В информатике в основном рассматриваются алгоритмы решения задач на компьютере. Основные свойства алгоритма решения задачи на компьютере.
♦ Дискретность. Алгоритм состоит из последовательности простых действий (шагов), выполнение которых доступно компьютеру.
♦ Определенность. Каждый шаг алгоритма должен быть однозначной инструкцией, не оставляющей места для произвольного толкования.
♦ Конечность. Алгоритм должен приводить к решению задачи за конечное число шагов.
♦ Массовость. Алгоритм разрабатывается для решения класса однотипных задач при большом числе входных данных.
Наиболее распространенными способами описания алгоритма решения задачи на компьютере являются:
— словесно-формульный;
— блок-схема;
— программа.
Словесно-формульный способ задания (описания) алгоритма понятен наибольшему числу пользователей. Однако естественному языку свойственна многозначность толкования некоторых слов или оборотов. Например, слово «ключ» может означать и источник воды, и инструмент для открывания замка, и понятие из области баз данных, и понятие из области шифрования данных, и т.п. Это может привести к неоднозначности результата выполнения алгоритма.
|
|
Два других способа описания алгоритма являются формальными.
Блок-схема задает алгоритм в графической форме. Элементами блок-схемы являются полуовалы (для обозначения начала или конца алгоритма), параллелограммы (ввод или вывод), прямоугольники (действия) и ромбы
(ветвление). Элементы блок-схемы соединяются стрелками, показывающими очередность выполнения шагов алгоритма. Отметим, что в один прямоугольник можно записать несколько действий.
Этот способ описания алгоритма является весьма наглядным. Однако он трудоемок, громоздок и плохо воспринимается компьютером. Его следует применять для начального изучения основ алгоритмизации и для интерпретации фрагментов программ.
В качестве наиболее простого примера можно рассмотреть построение блок-схемы алгоритма решения задачи о нахождении максимального значения трех заданных чисел.
Программа является описанием алгоритма на языке программирования.
Этот способ описания алгоритма наиболее компактен и использует только текстовую информацию. Однако он является формальным, и его применение требует специальной подготовки.
Для полноты изложения отметим, что распространенным способом описания алгоритмов является псевдокод. Он занимает промежуточное положение между естественным языком и языком программирования. С одной стороны, он близок к естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные конструкции и математическая символика. В псевдокоде не приняты строгие синтаксические правила для записи команд, присущие языкам программирования, что облегчает запись алгоритма на начальной стадии проектирования.
|
|
Алгоритм состоит из следующих фрагментов:
—последовательного выполнения шагов алгоритма,
—ветвления (альтернативных действий),
—повторяющихся (циклических) действий.
Эти фундаментальные фрагменты алгоритмов называют алгоритмическими структурами.