Способы представления алгоритмов
Существует несколько способов представления алгоритмов: словесный, символический, графический.
Словесный способ - заключается в описи алгоритма в терминах какого либо языка. Данный способ применяется редко, поскольку запись при этом довольно громоздкая и могут возникнуть противоречивые толкования алгоритма.
Символический способ - заключается в записи алгоритма с помощью условных символов. Данный способ представления алгоритма делает запись алгоритма очень кратким, и не наглядным.
Графический способ – изображение алгоритма в виде структурной схемы, которая состоит из отдельных блоков. Этот способ представления алгоритма есть наиболее удобным и наглядным.
При представлении задачи графическим способом применяют такие основные виды блоков:
· Б лок в виде прямоугольника символизирует выполнение определенных указаний задачи. Стрелками обозначается направление хода выполнения условий задачи.
· Блок в виде ромба символизирует проверку выполнения определенного утверждения с целью принятия решения о направлении хода дальнейшего выполнения условия задачи. Внутри блока описывается условие, которое требуется проверить. Возможные операции указываются на выходах - линиях, которые выходят из блока.
Начало и конец алгоритма изображаются в виде овальных блоков.
Если существует потребность свести несколько линий в одну, то используют соединительный круг.
П ри составлении структурной схемы алгоритма составитель должен придерживаться следующих правил, так называемых правил для составления структурной схемы алгоритма:
· Любой алгоритм должен иметь начало и конец
· Все блоки, кроме проверки условия, имеют только один выход.
· Все блоки алгоритма имеют не больше одного входа.
· Линии алгоритма не могут разветвляться.
· Типы алгоритмов и их структурные схемы
Типы алгоритмов Линейные алгоритмы
Алгоритм, который содержит лишь указания о безусловном выполнении некоторой последовательности действий, без повторений или разветвлений (простое следование) называют линейным.
Р ис. 10.1. Схематическое изображение линейного алгоритма
Рассмотрим задачу, которую можно формализовать с помощью линейного алгоритма.
1. Задача 1. При острых и хронических бронхитах; снижении аппетита, ухудшении пищеварения врач, в частности, рекомендует пациенту принимать травы душицы. Способ ее применения и дозы представлены на упаковке в виде текста следующего содержания: 10 г травы (2 ст. ложки) душицы помещают в эмалированную посуду, заливают 200 мл (1 стакан) кипяченной воды комнатной температуры, закрывают крышкой и настаивают на кипящей водяной бане 15 мин. Охлаждают при комнатной температуре 45 мин., процеживают, остаток отжимают в процеженный настой. Настой доливают кипяченной водой до 200 мл. Принимают в теплом виде по 1/2 стаканы 2 раза в день за 15 мин. до еды.
Реализация приведена задача изображена на рис.10.2
Рис. 10.2. Структурная схема линейного алгоритма
Разветвленные алгоритмы
Алгоритм, в котором предполагается проверка определенного утверждения называют разветвленным.
Разветвление – это такая форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия осуществляется та или иная последовательность действий.
Условие – это любое утверждение или вопрос, который допускает лишь две возможные ответа “так” (истинное утверждение) или “нет” (утверждение ошибочное).
Для выполнения определенного указания S нужно сначала определить ошибочно или истинно утверждения Р. Если утверждение Р истинно, то выполняем указание S1 и на этом указание S заканчивается. Если же утверждение Р ошибочное, то выполняется указание S2 (или она не предусмотрена условием задачи) и на этом указание S заканчивается (рис 10.3 и 10.4).
Рис. 10.3. Полная форма разветвления. Рис. 10.4. Неполная форма разветвления
Рассмотрим задачу, которая формализована с помощью разветвленного алгоритма.
Задача 2. При диагностике заболевания желудочно-кишечного тракта определяют кислотность среды Рн, пользуясь следующими критериями: PH<7 - среда кислая, PH=7 - среда нейтральная, PH>7 - среда щелочная.
Реализация данной задачи изображена на рис. 10..5.