Базовые алгоритмические конструкции
Кон
Все
Все
Иначе
Нач
если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. Базовая структура цикл обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла,над новыми данными.
Цикл типа «пока»
![]() |
Цикл типа «до»
![]() |
Цикл типа «для»
Цикл с параметром, или цикл со счетчиком, или арифметический цикл - это цикл с заранее известным числом повторов. Предписывает выполнять тело цикла для всех значений некоторой переменной (параметра цикла) в заданном диапазоне.
![]() |
Для создания циклов с параметром необходимо использовать правила:
1. Параметр цикла, его начальное и конечное значения и шаг должны быть одного типа.
2. Запрещено изменять в теле цикла начальное, текущее и конечное значения для параметра.
3. Запрещено входить в цикл, минуя блок модификации.
4. После выхода из цикла значение переменной параметра неопределенно и не может использоваться в дальнейших вычислениях.
5. Из цикла можно выйти, не закончив его, тогда переменная параметр сохраняет свое последнее значение.