Основные вычислительные алгоритмы.

Составные (сложные).

Простые.

Перечислимый тип может хранить только те значения, которые прямо указаны в его описании:

-числовые. Хранятся числа, могут применяться обычные арифметические операции;

-целочисленные: со знаком, то есть могут принимать как положительные, так и отрицательные значения, и без знака, то есть могут принимать только неотрицательные значения;

-вещественные: с запятой и с плавающей запятой;

-числа произвольной точности, обращение с которыми происходит посредством длинной арифметики;

-символьный тип. Хранит один символ, могут использоваться различные кодировки;

-логический тип: имеет два значения: истина и ложь, могут применяться логические операции. Используется в операторах ветвления и циклах. В некоторых языках является подтипом числового типа, при этом ложь=0, истина=1;

-множество. В основном совпадает с обычным математическим понятием множества. Допустимы стандартные операции с множествами и проверка на принадлежность элемента множеству. В некоторых языках рассматривается как составной тип.

- массив — упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного или нескольких индексов. В простейшем случае массив имеет постоянную длину и хранит единицы данных одного и того же типа. Количество используемых индексов массива может быть различным. Массивы с одним индексом называют одномерными, с двумя — двумерными и т. д. Одномерный массив нестрого соответствует вектору в математике., двумерный — матрице. Чаще всего применяются массивы с одним или двумя индексами, реже — с тремя, ещё большее количество индексов встречается крайне редко;

- строковый тип. Хранит строку символов. Аналогом сложения в строковой алгебре является конкатенация (прибавление одной строки в конец другой строки). В языках, близких к бинарному представлению данных, чаще рассматривается как массив символов, в языках более высокой абстракции зачастую выделяется в качестве простого;

- запись (структура). Набор различных элементов (полей записи), хранимый как единое целое. Возможен доступ к отдельным полям записи. Например, struct в С или record в Pascal;

- файловый тип. Хранит только однотипные значения, доступ к которым осуществляется только последовательно (файл с произвольным доступом, включенный в некоторые системы программирования, фактически является неявным массивом).

 

Алгоритмические (или вычислительные) процессы обработки данных делятся на виды:

- линейные,

- ветвящиеся,

- циклические.

Линейным называется такой вычислительный процесс, в котором самостоятельные этапы вычислений выполняются в последовательности их записи, т.е. в естественном порядке.

Каждая операция является самостоятельной, независимой от каких-либо условий.

Линейные вычислительные процессы имеют место при вычислении арифметических выражений.

 

Пример 1:

 

 

 

Ветвящимсяназывается такой процесс, в котором его реализация происходит по одному из нескольких заранее предусмотренных (возможных) направлений в зависимости от исходных условий или промежуточных результатов. Каждое отдельное направление вычислений в таком процессе называется ветвью вычисления. Выбор осуществляется проверкой выполнения логического условия.

В каждом конкретном случае обработки данных вычислительный процесс выполняется лишь по одной ветви, а выполнение остальных – исключается.

Ветвящийся процесс, включающий в себя две ветви, называется простым, более двух ветвей- сложным. Сложный ветвящийся процесс можно представить с помощью простых ветвящихся процессов.

Направления ветвления выбирается логической проверкой, в результате которой возможны два ответа: «да» - условие выполнено, «нет» -условие не выполнено.

Любая ветвь, по которой осуществляются вычисления, должна приводить к завершению вычислительного процесса.

 

Пример 2:

 

 

При реализации алгоритмов многих задач наблюдается многократное повторение отдельных этапов их вычислительного процесса. Такие многократно повторяемые этапы вычислений называются циклами, а вычислительные процессы, содержащие многократно повторяемые этапы называются циклическими.

Пример 3:

У=X20