Алгоритм, свойства алгоритма. Алгоритмический язык программирования. Способы записи алгоритма

 

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

 

Свойства алгоритма:

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 символа.

 

Синтаксис алгоритмического языка — совокупность правил, позволяющая:

  1. формально проверить текст программы (выделив множество синтаксически правильных программ);
  2. разбить эти программы на составляющие конструкции и в конце концов на лексемы.

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

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