Алгоритмизация
Основные блоки для составления схем алгоритмов
Основные алгоритмические структуры
Алгоритмический язык программирования
Этапы проектирования программных продуктов
UML-диаграммы классов
Генерация псевдослучайных последовательностей
Линейная аппроксимация (метод наименьших квадратов)
Арифметическое скользящее среднее
Численное интегрирование методом трапеций
Решение систем линейных уравнений методом Гаусса
Численные методы решения нелинейных уравнений
Генетические алгоритмы
Алгоритм Брезенхема для рисования прямых на растровой плоскости
Возведение в степень по модулю
Алгоритм Дейкстры нахождения кратчайшего пути
Рекурсия
Числа Фибоначчи
Наибольший общий делитель
Наименьшее общее кратное
Комбинаторика
Генерация перестановок
Генерация размещений
Генерация сочетаний
Арифметика длинных чисел
Сумма многоразрядных чисел
Сравнение многоразрядных чисел
Представление числа в другой системе счисления
Логические операции над многоразрядными числами
Умножение многоразрядных чисел
Алгоритмизация — процесс составления алгоритмов для решения поставленных прикладных задач.
Алгоритм — это точный набор инструкций, описывающих порядок действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное число шагов.
Основные свойства алгоритмов:
- Понятность для исполнителя — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.
- Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов).
- Определенность — каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
- Результативность (или конечность) состоит в том, что за конечное число шагов алгоритм либо должен приводить к решению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов.
- Массовость означает, что алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Для записи алгоритма решения задачи используются следующие способы:
- словесно-формульное описание;
- схема алгоритма, составленная с использованием графических блоков (блок-схема);
- алгоритмические языки программирования;
- псевдокод.