Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Untitled(1).doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
942.59 Кб
Скачать

3.1. Структуры алгоритмов

В соответствии с теоремой Дейкстры алгоритм любой сложности может быть создан комбинацией только трех простейших базовых структур — следование, ветвление и повторение.

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

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

3.2. Базовая структура следования

Фрагмент блок-схемы, содержащий базовую структуру «следование» показан на рис. 2. Эта структура обеспечивает естественную последовательность выполнения действий, когда каждое следующее действие начинается после окончания предыдущего. Каждый прямоугольник содержит одно из последовательно выполняемых действий S. Под действием S будем поним ать или операцию присваивания, или структуру разветвления, или структуру повторения. Действие присваивания состоит в том, что MathCAD, встретив блок с операцией присваивания, автоматически, то есть без каких-либо дополнительных указаний, осуществляет вычисление значения выражения, расположенного правее знака присваивания, а затем присваивает это значение переменной, расположенной левее знака присваивания.

Рис. 2

Пример 1. Составить схему алгоритма вычисления радиусов вписанной R и описанной r окружностей треугольника, заданного длинами a, b, c своих сторон.

На рис. 3 представлен алгоритм решения этой задачи в виде блок-схемы и в виде программы, на алгоритмическом языке. Алгоритмом этой задачи является структура следования, которая состоит только из операций присваивания.

Рис. 3

Р ешим эту же задачу с применением панели Programming. Для вызова этой панели следует ввести команду меню:View / Toolbars / Programming.

Вид панели Programming показан на рис. 4.

Рис. 4

С помощью панели Programming создаются вычислительные блоки, которые в дальнейшем будем называть программными блоками. Программный блок — это обособленный модуль внутри документа MathCAD со своими именами переменных и их значениями, которые не видны из других мест документа, если специально не выведены из программного блока в документ MathCAD. Поэтому создание программного блока (также как и любого вычислительного) начинается с ввода имени переменной, имени массива, левой части определения функции пользователя, куда результаты вычислений выводятся из среды программного блока в среду документа MathCAD. Поскольку в нашем примере требуется одновременно вывести значения двух переменных, их вывод организуем в форме массива (вектора).

Нажмем клавиши [Ctrl][M]. Введем две строки и один столбец, нажмем ОК. В появившемся шаблоне введем имена r и R. (см. рис. 5). Определенный таким образом массив никакого математического смысла не имеет. Это просто контейнер для данных, выводимых из среды программного блока в среду документа MathCAD. После ввода массива введем знак присваивания.

Выведенные таким способом данные могут использоваться (видны)

Выведенные таким образом данные могут использоваться (будут видны) повсюду на свободном месте документа MathCAD (правее и ниже знака присваивания).

Д алее приступим к созданию самого программного блока. Нажмем несколько раз кнопку Add Line на панели Programming. Правее знака присваивания появится жирная вертикальная линия, обозначающая структуру «следование», с пустыми полями для ввода. Вместо щелчка мышью по кнопке Add Line на панели Programming можно нажать клавишу [ ] ] (закрывающая квадратная скобка) на клавиатуре. Используя символ Local Definition (локальное определение) панели Programming, заполним эти поля в соответствии с нашим алгоритмом. Символ можно ввести, как щелчком мыши на соответствующей кнопке панели Programming, так и нажатием клавиши [ { ] (отрывающая фигурная скобка) на клавиатуре.

Рис. 5

В данном примере все исходные данные (значения переменных a, b, c) введены с клавиатуры в процессе создания программного блока. Извне, из документа MathCAD никаких исходных данных в наш программный блок не передается.

Вертикальная черта по левому краю программного блока имеется всегда. Она охватывает весь программный блок и обозначает структуру «следование» верхнего иерархического уровня алгоритма. В ее нижнее поле помещается результат выполнения программы. В нашем примере введем точно такой же вектор, как и наверху программного блока слева. Окончательный вид программного блока показан на рис. 5. В данном примере имеем одноуровневую структуру алгоритма (имеется одна вертикальная черта).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]