Базовые алгоритмические конструкции
Кон
Все
Все
Иначе
Нач
если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. Из цикла можно выйти, не закончив его, тогда переменная параметр сохраняет свое последнее значение.