Линии в схемах должны подходить к символу либо слева, либо сверху, а исходить либо справа, либо снизу. Линии должны быть направлены к центру символа. При необходимости линии в схемах нужно разрывать во избежание излишних пересечений или слишком длинных линий, а также, если схема состоит из нескольких страниц. Соединитель в начале разрыва называется внешним соединителем, а соединитель в конце разрыва – внутренним соединителем. Совместно с символом комментария можно указать, с какой страницы, или на какую страницу схемы совершается переход.
Примеры:
Внешний соединитель Внутренний соединитель
Несколько выходов из символа можно показывать:
· несколькими линиями отданного символа к другим символам;
· одной линией от данного символа, которая затем разветвляется в соответствующее число линий.
Примеры:
Каждый выход из символа нужно пометить значениями соответствующих условий, чтобы показать логический путь, который он представляет, с тем, чтобы эти условия и соответствующие ссылки были идентифицированы.
Примеры:
При всем разнообразии структур алгоритмов можно выделить четыре типовых структуры (рис.1.1), из которых как из кирпичиков, можно построить здание алгоритма любой сложности: следование, ветвление, цикл и выбор.
а) б) в)
Рис. 1.1. Типовые структуры алгоритмов: а) - следование; б, в) – ветвление (полное и неполное).
а) б)
Рис.1.2. Типовые структуры алгоритмов: а) – цикл с предусловием; б) – цикл с постусловием.
Рис.1.3. Типовая структура выбор.
Типовые структуры хороши тем, что все они имеют одну точку входа и одну точку выхода. Это упрощает просмотр и понимание алгоритма и сокращает количество возможных ошибок, сделанных при составлении схемы и время на их поиск. Типовые структуры могут быть вложенными друг в друга, например, символ, входящий в структуру следование может включать в себя структуры ветвление или цикл, а каждая из ветвей структур ветвление или выбор может содержать структуры следование, цикл или еще одно ветвление и выбор.
На основе перечисленных в разделе 1 структур строятся следующие типы алгоритмов:
· линейный (на основе структуры следование); характеризуется тем, что все действия, определяемые символами, входящими в схему, выполняются последовательно, в порядке их написания;
· разветвляющийся (на основе структур ветвление и выбор): характеризуется тем, что в ходе выполнения, решение задачи идет только по одному из имеющихся направлений, выбор которого зависит от выполнения заданного условия:
· циклический (на основе структуры цикл): характеризуется многократным повторением определенной группы действий.
В последующих разделах на конкретных примерах рассматриваются все вышеперечисленные типы алгоритмов.
Сразу же оговоримся, что в рассмотренных примерах исходные данные задаются корректно, т.е. например, если в расчете функции (пример 5.1) используется ln(x), то значение x будет задано большим, чем 0, т.к. в противном случае произойдет ошибка вычисления (логарифм для х≤0 не существует). Поэтому схема алгоритма проверки условия х>0 не предусматривает. Хотя, конечно, в серьезных задачах нужно обязательно проверять все вводимые значения на предмет: допустимы ли они или нет.
Пример 3.1. Вычислить значение функции
при известных значениях x, yи z.
Решение. Исходными данными для расчета являются значения x, yи z. Их значения нужно ввести с какого – либо устройства. Значение b становится известными только после расчета по формуле. Тогда, чтобы оно стало известно нам, его нужно вывести на устройство вывода.
Схема алгоритма представлена на рис. 3.1.
Рис.3.1. Схема алгоритма к примеру 3.1.
Замечание. Алгоритм предусматривает вывод не только полученного результата, но и всех введенных исходных данных. Это следует делать всегда по двум причинам:
§ Появляется возможность контроля правильности ввода данных;
§ Если результат выводится в виде распечатки на принтер, всегда можно видеть, при каких исходных данных он получен
Пример 3.2. Вычислить высоту и площадь равнобедренного треугольника с основанием а и углом при основании a.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.