Базовые алгоритмические конструкции

Кон

Все

Все

Иначе

Нач

еслиST<5

тоZP:=150

еслиST<=15

то ZP:=180

иначеZP:=180+(ST-15)*10

6. Программный. Описание алгоритма с помощью языков программирования.

7. Графический.Алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.Такое графическое представление называется схемой алгоритма или блок-схемой.

Блок-схема алгоритма представляет собой систему связанных геометрических фигур.

Правила построения блок-схем:

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

2. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Порядок выполнения действий указывается стрелками, соединяющими блоки.

3. В схеме блоки стараются размещать сверху вниз, в порядке их выполнения.

4. Все повороты соединительных линий выполняются под углом 90 градусов.

В таблице приведены наиболее часто употребляемые символы.

Название Обозначение и пример заполнения Выполняемая функция (пояснение)
Начало/конец (вход/выход) Начало или конец программы, вход или выход в подпрограмму
Блоки ввода/вывода Ввод-вывод данных
  Вывод данных на печатающее устройство
Блок вычислений Арифметический блок определяет вычислительное действие или последовательность действий
Логический блок Логический блок проверяет истинность или ложность условия и выбирает направления выполнения алгоритма в зависимости от условия. В блоке должны быть указаны вопрос, условие или сравнение, которые он определяет.
Предопределенный процесс Вычисления по стандартной или пользовательской подпрограмме
Блок модификации Выполнение действий, изменяющих пункты алгоритма, начало цикла. Внутри блока записывается параметр цикла, для которого указываются его начальное значение, граничное условие и шаг изменения значения параметра для каждого повторения.
Межстраничный соединитель Указание связи между частями схемы, расположенной на разных страницах

 

Общие правила построения схемы алгоритма задачи:

1. Выявить исходные данные, результаты, назначить им имена.

2. Выбрать метод (порядок) решения задачи.

3. Разбить метод решения задачи на этапы (с учетом возможностей ЭВМ).

4. Изобразить каждый этап в виде соответствующего блока схемы алгоритма и указать стрелками порядок их выполнения.

5. В полученной схеме при любом варианте вычислений:

а) предусмотреть выдачу результатов или сообщений об их отсутствии;

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

Эти правила и есть«Основные принципы алгоритмизации».Будем считать, что знание и применение настоящих «принципов» обязательно при составлении алгоритма любой задачи.

Типы алгоритмов:

- структурированные;

- неструктурированные (т.е. с нарушением структуры – с операторами безусловного перехода);

- вспомогательные (используемые в составе других алгоритмов).

Виды алгоритмов:

- линейный алгоритм;

- алгоритм ветвления;

- циклический алгоритм;

- алгоритм с подпрограммами;

- смешанные (т.е. содержащие и циклы, и ветвление, и функции).

- рекурсивный алгоритм обращается к самому себе, пока не выполнится определенное условие.

Согласно теореме о структуре (теорема Бёма – Якопини, 1966 г.) логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, ветвление, цикл.

Характерной особенностью базовых структур является наличие в них одного входа и одного выхода.

1. Базовая структура следование (линейный алгоритм). Образуется из последовательности действий, следующих одно за другим:

2. Базовая структура ветвление (алгоритм ветвления) обеспечивает в зависимости от результата проверки условия выбор одного из альтернативных путей работы алгоритма. Условие – вопрос, имеющий два варианта ответа: да или нет. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Запись ветвления выполняется в двух формах: полной и неполной.

Структура ветвление существует в четырех основных вариантах:


 

Неполная форма записи Полная форма записи
1. если-то 2. если-то-иначе
3. выбор 4. выбор-иначе

Примеры команды если


Пример: найти наименьшее из трех чисел.

1 вариант решения: 2 вариант решения:

3. Базовая структура цикл обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла,над новыми данными.

 

Цикл типа «пока» Выполнение цикла «пока» начинается с проверки условия, поэтому такую разновидность циклов называют циклами с предусловием. Переход к выполнению действия осуществляется только в том случае, если условие выполняется, в противном случае происходит выход из цикла. Тело цикла выполняется до тех пор, пока выполняется условие. Условие цикла необходимо подобрать так, чтобы действия, выполняемые в цикле, привели к нарушению его истинности, иначе произойдет зацикливание. Зацикливание - бесконечное повторение выполняемых действий.
Цикл типа «до» Исполнение цикла начинается с выполнения действия. Таким образом, тело цикла будет реализовано хотя бы один раз. После этого происходит проверка условия. Поэтому цикл "до" называют циклом с постусловием. Если условие выполняется, то происходит возврат к выполнению действий, иначе осуществляется выход из цикла. Для предотвращения зацикливания необходимо предусмотреть действия, приводящие к ложности условия.
Цикл типа «для» Цикл с параметром, или цикл со счетчиком, или арифметический цикл - это цикл с заранее известным числом повторов. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне. х0 – начальное значение параметра; h – шаг; хn – последнее значение параметра.


Для создания циклов с параметром необходимо использовать правила:

1. Параметр цикла, его начальное и конечное значения и шаг должны быть одного типа.

2. Запрещено изменять в теле цикла начальное, текущее и конечное значения для параметра.

3. Запрещено входить в цикл, минуя блок модификации.

4. После выхода из цикла значение переменной параметра неопределенно и не может использоваться в дальнейших вычислениях.

5. Из цикла можно выйти, не закончив его, тогда переменная параметр сохраняет свое последнее значение.