Ponyatie_algoritma
.doc
-
Понятие алгоритма. Исполнители алгоритмов.
Алгоритм - точное и понятное предписание исполнителю совершить последовательность действий, направленных на решение поставленной задачи.
Исполнитель алгоритма - это некоторая абстрактная или реальная система, способная выполнить действия предписанные алгоритмом.
-
Свойства алгоритмов:
-
Понятность для исполнителя – исполнитель алгоритма должен знать, как его выполнять;
-
Дискретность- алгоритм должен представлять процесс решения задачи как последовательное выполнение шагов.
-
Определенность – каждый шаг алгоритма должен быть четким и пониматься исполнителями однозначно;
-
Результативность- алгоритм должен приводить к решению задачи за конечное число шагов.
-
Способы записи алгоритмов.
-
Словесный- запись алгоритмов представляет собой описание последовательности этапов обработки данных на ест. языке.
-
Графический- запись алгоритма в виде последовательности связанных между собой функций блоков, каждому из которых соответствует выполнение одного или нескольких действий. (рис. 1)
Рис.1
-
Псевдокод – представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
-
Языки программирования.
-
Базовая алгоритмическая структура «Следование»
О
Действие 1
Действие N
Действие N+1
Рис.2
-
Базовая алгоритмическая структура «ветвление »
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор из альтернативных путей работы алгоритма.
-
Если-то :
Действие
нет
-
Если-то-иначе:
Действие 1
Действие 2
-
алгоритмическая структура «выбор»
Действие 1
Нет
Действие 2
нет
-
Базовая конструкция «выбор-иначе»
Да
Действие
Нет
Действие n
Нет
Действие n+1
-
Алгоритмическая структура цикла модификации «для»
Цикл типа «для» предписывает выполнить тело цикла для всех значений некоторой переменной в заданном диапазоне.
Тело цикла
-
Модификация цикла «пока».
Условие работает, пока истинно, если оно ложно, цикл прекращает работать.
нет
да
Тело цикла
-
Модификация цикла «повторить».
Тело цикла
да
нет
-
Линейный вычислительный алгоритмы.
Стандартный алгоритм начало-ввод-тело цикла - вывод- конец.
-
Разветвляющиеся алгоритмы.
Алгоритм типа: начало-ввод - тело цикла – условие-тело цикла- вывод –конец.
-
Линейная и табличная последовательность данных.
Линейно-табличные данные - последовательность записанная в одну строку или столбец.
T- номер массива
Ti-обозначение [i]- место
Σ– СИГМА (сумма)
-
Сортировка массива методом «пузырька».
Алгоритм состоит в повторяющихся проходах по сортируемому массиву. За каждый проход элементы последовательно сравниваются попарно и, если порядок в паре неверный, выполняется обмен элементов. Проходы по массиву повторяются до тех пор, пока на очередном проходе не окажется, что обмены больше не нужны, что означает — массив отсортирован. При проходе алгоритма, элемент, стоящий не на своём месте, «всплывает» до нужной позиции как пузырёк в воде, отсюда и название алгоритма.
-
Сортировка массива методом выбора.
Шаги алгоритма:
1)находим минимальное значение в текущем списке
2)производим обмен этого значения со значением на первой неотсортированной позиции
3) теперь сортируем хвост списка, исключив из рассмотрения уже отсортированные элементы
-
Сортировка массива методом обмена.
В основе алгоритма лежит обмен соседних элементов массива. Каждый элемент массива, начиная с первого, сравнивается со следующим, и если он больше следующего, то элементы меняются местами. Таким образом, элементы с меньшим значением продвигаются к началу массива (всплывают), а элементы с большим значением — к концу массива (тонут). Поэтому данный метод сортировки обменом иногда называют методом "пузырька". Этот процесс повторяется столько раз, сколько элементов в массиве, минус единица.
-
Сортировка массива методом вставки.
На каждом шаге алгоритма мы выбираем один из элементов входных данных и вставляем его на нужную позицию в уже отсортированном списке, до тех пор, пока набор входных данных не будет исчерпан. Метод выбора очередного элемента из исходного массива произволен; может использоваться практически любой алгоритм выбора. Обычно (и с целью получения устойчивого алгоритма сортировки), элементы вставляются по порядку их появления во входном массиве. Приведенный ниже алгоритм использует именно эту стратегию выбора.
-
Вспомогательные алгоритмы.
В соответствии с методами структурного программирования построение программ производится методом постепенной детализации алгоритмов. Некоторые части алгоритма могут выделяться в виде вспомогательных алгоритмов, решающих вспомогательные подзадачи. Для реализации вспомогательных алгоритмов служат подпрограммы или процедуры.
Подпрограмма — самостоятельный фрагмент программы, оформленный в виде, допускающем многократное обращение к нему из разных точек программы.
Обращение к подпрограмме — переход к выполнению подпрограммы с заданием информации, необходимой для ее выполнения и возврата.
Функции по своей сути похожи на процедуры, но возвращают одно значение через свое имя.