На практике применяются алгоритмы следующих типов:
Линейные алгоритмы
Это алгоритмы, у которых последовательность операций при исполнении совпадает с порядком их следования в записи алгоритма и не зависит от конкретных значений исходных данных. С помощью таких алгоритмов реализуются задачи типа:
Y = А*Х+В
разветвляющиеся, ветвящиеся алгоритмы. Такие алгоритмы
используются для решения задач, в которых заложена операция выбора одной из формул, в зависимости от заданного
значения переменной. Такие алгоритмы используются при
решение задач, типа:
Y=Ln x, при x>=1
Y=1-x, при x<1
Циклические алгоритмы
Используются в случаях, когда приходится многократно повторять одни и те же действия. Такие алгоритмы используются при решении задач, типа
Y=A-Xn
Для записи алгоритмов обычно используют табличный, словесный и схематичный способы записи.
Табличный способ записи алгоритмов
Табличный способ записи алгоритмов применяется, когда требуется вычислить не одно, а несколько значений одного и того же выражения для различных значений входных величин.
Например, требуется вычислить площадь поверхности цилиндрического тела по формуле:
S=3.14*(D*H+D2 /2)
где D — диаметр, Н — высота.
Табличный алгоритм вычисления площади поверхности тела по указанной формуле представлен в таблице:
D | H | 3.14*D | 3.14*D2 | 3.14*D2/2 | 3.14*D*H | S |
---|---|---|---|---|---|---|
6 | 4 | 18,84 | 113,04 | 56,52 | 75,36 | 131,88 |
5 | 10 | 15,7 | 78,5 | 39,25 | 157 | 196,25 |
10 | 12 | 31,4 | 314 | 157 | 376,8 | 533,8 |
Словесный способ записи алгоритмов
Одна из самых распространенных форм представлении алгоритмов — словесная форма. Особенностью словесной представления алгоритма является то, что таким cnocoбом могут быть описаны любые алгоритмы, в том числе и вычислительные.
Опишем последовательность действий для вычислений по формуле:
Y=(6*x+25)/2.
1) Прочитаем заданное значение X;
2) Умножим X на 6;
3) К результату второго действия прибавим 25;
4) Результат третьего действия разделим на 2;
5) Запишем значение результата Y;
6) Конец.
В результате получили словесную запись линейного вычислительного алгоритма.
В приведенном вычислительном алгоритме X является входной величиной (исходным значением, аргументом), а Y выходной величиной (результатом).
В словесной записи алгоритма, если при исполнении текущего предписания не указывается явно номер очередного предписания, происходит автоматический переход к предписанию, следующему за данным в порядке возрастания номеров.
После исполнения предписания с наибольшим номером, процесс выполнения алгоритма заканчивается.
Для удобства рекомендуется заканчивать запись словес о алгоритма специальным предписанием «конец».
При записи вычислительных алгоритмов удобно использовать специальный знак присваивания :=. Этот знак используется для записи специальной операции операции присваивания. Смысл операции присваивания состоит в том, что некоторой переменной, имя которой указывается слева, присваивается значение некоторого выражения, указанного справа.
Например, предписание, вида Y:=X читается так: «переменной Y присвоить значение X». Если X — является формулой, тогда нужно выполнить все действия, предусмотренные формулой и полученный результат (число) присвоить переменной Y.
Операция присваивания может быть обозначена и обычным знаком равенства или стрелками: A:=D*B, A=D*B, A->D*B.
Используя знак операции присваивания и вспомогательные переменные, в которых будут запоминаться промежуточные значения, можно сделать запись приведенного выше словесного алгоритма значительно компактнее:
1) Чтение X;
2) А:= X * 6;
3) В:= А + 25;
4) Y:=B/2;
5) Запись Y;
6) Конец.
После составления словесного алгоритма необходимо провести контроль правильности составления алгоритма. Проверка алгоритма в таблице состоит в том, что выбираются конкретные исходные данные и составленный алгоритм выполняется в строгом соответствии с записанными предписаниями.
Таблица контроля правильности алгоритма вычисления Y=(6*X+25)/2
Шаги алгоритма | Аргумент X | Промежуточная величина А | Промежуточная величина B | Результат Y | Пояснения |
1 | 2 | чтение X | |||
2 | 12 | ||||
3 | 37 | ||||
4 | 18.5 | ||||
5 | запись 18.5 | ||||
6 | остановка |
Важное свойство операции присваивания состоит в том, что одна и та же переменная может находиться и слева и справа от знака присваивания, т.е. можно записать
А := А+В.
Такая запись означает, что к значению переменной А, которое она имела до начала выполнения операции присваивания, прибавляется значение переменной В и полученное в результате значение присваивается переменной А (становится новым значением переменной А). Прежнее значение переменной А при этом пропадает.
Используя это свойство операции присваивания, можно отказаться от использования избыточных промежуточных переменных.
Тогда запись алгоритма вычисления Y будет иметь следующий вид:
1) Чтение X;
2) Y:= X * 6;
3) Y:= Y + 25;
4) Y:=Y/2;
5) Запись Y;
6) Конец.
В приведенном примере можно не использовать ни одной вспомогательной переменной, т.к. для хранения промежуточных результатов достаточно использовать одну переменную Y.
Таблица проверки правильности алгоритма наглядно показывает механизм проведенных присваиваний.
Таблица контроля правильности алгоритма вычисления Y=(6*x+25)/2 без избыточных вспомогательных переменных
Шаги алгоритма | Аргумент X | Результат Y | Пояснение |
---|---|---|---|
1 | 2 | чтение X | |
2 | |||
3 | |||
4 | 18.5 | ||
5 | запись 18.5 | ||
6 | остановка |