Алгоритм, свойства алгоритма. Алгоритмический язык программирования. Способы записи алгоритма
В самой общей постановке преобразовать каждый допустимый набор входных параметров в строго определённый набор выходных. Для получения результата необходимо представить процесс вычисления в виде последовательности элементарных операций. Такая последовательность называется алгоритмом
Свойства алгоритма:
1. Дискретность – алгоритм должен представлять процесс решения задачи как последовательность простых шагов. При этом требуется конечный отрезок времени.
2. Конечность – при корректно заданных исходных данных алгоритм должен завершить работу и выдать результат.
3. Результативность – завершение алгоритма определёнными результатами.
4. Определённость – каждый шаг работы определяется состоянием системы. Таким образом алгоритм выдаёт один и тот же результат для одних и тех же исходных данных.
5. Массовость – алгоритм должен быть применим к разным наборам исходных данных.
Алгоритмический язык формальный язык программирования, - формальный язык, предназначенный для описания вычислительных процессов, или, что то же, для записи алгоритмов, подлежащих выполнению на вычислительных машинах.
Способ записи алгоритма
словесная (запись на естественном языке); Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке
графическая (изображения из графических символов); При графическом представлении алгоритм изображается в виде последовательности
связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Вычислительный блок | Выполнение одной или нескольких операций, обработка данных любого вида (изменение значения данных, формы представления, расположения). Внутри фигуры записывают непосредственно сами операции, | |
Логический блок (блок условий) | Отображает решение или функцию переключательного типа с одним входом и двумя или более альтернативными выходами, из которых только один может быть выбран после вычисления условий, определенных внутри этого элемента. Вход в элемент обозначается линией, входящей обычно в верхнюю вершину элемента. Если выходов два или три, то обычно каждый выход обозначается линией, выходящей из оставшихся вершин (боковых и нижней). Если выходов больше трех, то их следует показывать одной линией, выходящей из вершины (чаще нижней) элемента, которая затем разветвляется. Соответствующие результаты вычислений могут записываться рядом с линиями, отображающими эти пути. | |
Ввод-вывод данных | Преобразование данных в форму, пригодную для обработки (ввод) или отображения результатов обработки (вывод). Данный символ не определяет носителя данных (для указания типа носителя данных используются специфические символы) | |
Начало-конец | Элемент отображает вход из внешней среды или выход из неё (наиболее частое применение − начало и конец программы). Внутри фигуры записывается соответствующее действие. | |
Линия потока | ||
Вывод на дисплей | ||
Ранее созданная программа или подпрограмма | Символ отображает выполнение процесса, состоящего из одной или нескольких операций, который определен в другом месте программы (в подпрограмме, модуле). Внутри символа записывается название процесса и передаваемые в него данные. Например, в программировании − вызов процедуры или функции. | |
Печать на бумаге | ||
--------[ | комментарий | Используется для более подробного описания шага, процесса или группы процессов. Описание помещается со стороны квадратной скобки и охватывается ей по всей высоте. Пунктирная линия идет к описываемому элементу, либо группе элементов (при этом группа выделяется замкнутой пунктирной линией). Также символ комментария следует использовать в тех случаях, когда объём текста, помещаемого внутри некоего символа (например, символ процесса, символ данных и др.), превышает размер самого этого символа. |
Граница циклла | Символ состоит из двух частей − соответственно, начало и конец цикла − операции, выполняемые внутри цикла, размещаются между ними. Условия цикла и приращения записываются внутри символа начала или конца цикла − в зависимости от типа организации цикла. Часто для изображения на блок-схеме цикла вместо данного символа используют символ условия, указывая в нём решение, а одну из линий выхода замыкают выше в блок-схеме (перед операциями цикла). | |
4. Синтаксис и семантика языка программирования??. Структура программы на языке Pascal.
program <название программы>
Uses
<название подключаемого модуля>;
Label
<список меток>;
Const
<имя константы = значение константы>;
Type
<имя типа, определение типа>
procedure <имя процедуры>;
var <имя локальной переменной: тип локальной переменной>
Begin
<описание процедуры>
End;
function<имя функции>(<формальные параметры функции>): тип результата функции;
var<имя локальной переменной: тип локальной переменной>
Begin
<описание функции>
End;
Var
<имя глобальной переменной: тип глобальной переменной>;
begin <начало тела программы>
<описание программы>
end.<конец тела программы>
Любой из перечисленных необязательных блоков может быть использован в тексте программы более одного раза, общая последовательность может меняться. Компиляторы языка Pascal не различают строчные и заглавные буквы, игнорируют пробельные символы.
Индефикаторы – имена, даваемые программным объектам. Они могут состоять из букв латинского алфавита, цифр, и «земля» ‘_’, иметь любую длину, 63 символа.
Синтаксис алгоритмического языка — совокупность правил, позволяющая:
- формально проверить текст программы (выделив множество синтаксически правильных программ);
- разбить эти программы на составляющие конструкции и в конце концов на лексемы.
Семантика алгоритмического языка — соответствие между синтаксически правильными программами и действиями абстрактного исполнителя, позволяющее определить, какие последовательности действий абстрактного исполнителя будут правильны в случае, если мы имеем данную программу и данное ее внешнее окружение.
Под внешним окружением понимаются характеристики машины, на которой исполняется программа (точность представления данных, объем памяти, другие программы, которые можно использовать при выполнении данной, и т. д.), и потоки входных данных, поступающие в программу в ходе ее исполнения.