Вопрос 7 . Алгоритмы: определение, свойства, способы представления.
Алгоритм – это последовательность действий приводящая конкретному результату за конечное число шагов.
Способы представления:
Словесное описание;
Табличное (в виде таблице);
Аналитическое (формулой);
Графическое (блок схема алгоритма).
Алгоритм не только задает последовательность выполнения операций при решении конкретной задачи. Он должен обладать следующими свойствами:
- определенность - однозначная определенность результатов выполнения каждого шага алгоритма;
- конечность - однозначная определенность результатов выполнения каждого шага алгоритма за конечное время;
- результативность - получение конечного результата за конечное время;
- массовость - возможность использования алгоритма для некоторого класса исходных данных;
- правильность - получение правильных результатов решения поставленной задачи. Говорят, что алгоритм содержит ошибки, если можно указать такие исходные данные или условия, при которых выполнение алгоритма либо не завершается вообще, либо не будет получено никаких результатов, либо полученные результаты окажутся неправильными.
Кроме переменных в алгоритмах используются массивы переменных - наиболее широко известная структура данных. Массив - область памяти, где могут размещаться совокупности данных определенного типа (целого, вещественного и т.д.). Все компоненты массива имеют одинаковый тип и являются одинаково доступными. Для обращения к отдельной компоненте используется имя массива с индексом, определяющим ее местоположение в массиве. Таким образом, массив характеризуется фиксированным именем, фиксированным типом и фиксированной размерностью. Например, последовательность чисел -1, 25, 13, 18, 8 можно рассматривать как массив целого типа с именем Vector, который содержит 5 элементов. К любому элементу этого массива можно обратиться следующим образом:
Vector[1], где I
может принимать значения в диапазоне от 1 до 5. Vector[2] = 25;
Разработка алгоритма решения задачи - наиболее ответственный этап в программировании. Игнорирование этого этапа является причиной многочисленных ошибок при проектировании программ. На этапе разработки алгоритма устанавливается необходимая логическая последовательность вычислений с учетом выбранного метода решения. При разработке алгоритма необходимо стремиться к максимальной простоте и наглядности. Это требование относится как к содержательной стороне, так и к форме записи алгоритма. Существует несколько способов записи алгоритмов, отличающихся друг от друга наглядностью, компактностью, степенью формализации и другими показателями. Наиболее распространенными являются:
- графический способ (схемы алгоритмов, диаграммы Насси - Шнейдермана );
- словесный способ ( специальный язык проектирования программ - псевдокод и программа).
Следуя принципам структурного программирования, задачу необходимо представить как набор последовательных шагов (действий), избегая непоследовательных переходов. Этому требованию в полной мере отвечают диаграммы Насси - Шнейдермана и псевдокод.