Материал: Метод._MathCAD_Prime

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Фактические параметры указывают, при каких конкретных значениях осуществляются вычисления в теле программы. Фактические параметры отделяются друг от друга запятой. При выполнении подпрограммы, его формальные параметры заменяются на фактические параметры основной программы.

Между фактическими и формальными параметрами должно быть соответствие по количеству, порядку следования и типу. Это означает следующее:

1)если формальным параметром является простая переменная, то в качестве фактического может использоваться константа, переменная, арифметическое выражение;

2)если формальным параметром является вектор или матрица, то фактическим должен быть вектор или матрица.

Имена фактических параметров при вызове подпрограммы могут либо совпадать, либо не совпадать с именами ее формальных параметров. Однако, для лучшего понимания процесса взаимодействия подпрограммы с основной программой, все же лучше использовать разные имена. Например, если – подпрограмма, а – вызов подпрограммы из основной программы, то и – формальные параметры, а и –фактические параметры.

Примечание: Во избежание различных ошибок логического характера, рекомендуется использовать, разные имена для основной программы и подпрограмм, а также разные имена аргументов (формальных параметров).

Упражнение 1

Вычислить сумму: S = 1!+ 2!+,..., n!, n 1 , используя подпрограмму вычисления факториала числа.

Порядок выполнения:

1. Наберите подпрограмму для вычисления факториала, для этого запишите и соответствующие операторы.

2.Наберите основную программу , для этого запишите и соответствующие операторы.

3.Проверьте работу программы при , для этого наберите , затем обычный знак равенства =.

116

Блок – схема:

Начало

n

S:=0

-i,1,

S

k:

 

Конец

P(

 

 

S:=S

Здесь, S– сумма, i – параметр цикла и фактический параметр, k – формальный параметр, P(k) – подпрограмма вычисления факториала, P– возвращаемый подпрограммой результат.

Вид документа Mathcad Prime:

Пояснение к программе: Здесь, – имя подпрограммы для вычисления

факториала и одновременно результат его работы;

имя основной

программы и одновременно результат его

работы;

соответствующие им формальные параметры;

– параметр цикла для

 

и . В основной программе,

еще и выполняет роль фактического

параметра, подставляемого

вместо

после

каждого

обращения

к

подпрограмме. До входа в циклы

присваивается , а

. Обращение к

подпрограмме происходит

раз (PodProg1).

 

 

 

 

117

 

 

Упражнение 2

 

 

 

 

 

 

 

 

 

Найти значения функции

z =

ch( x2 1) ch( x +1)

, где x

меняется от 3 до

ch( x)

 

 

 

 

4 с шагом 0,2. Вычисление гиперболического косинуса ch(k ) = ek + ek

2

оформить в виде подпрограммы.

Порядок выполнения:

 

1. Наберите

:=1.

2.Наберите подпрограмму для вычисления гиперболического косинуса, для этого запишите и соответствующие

 

операторы.

 

 

3.

Наберите основную программу , для этого

запишите

и

 

соответствующие операторы.

 

 

4.

Проверьте работу программы, для этого наберите

, затем обычный

 

знак равенства =.

 

 

Вид документа Mathcad Prime:

Пояснение к программе: Здесь, – имя подпрограммы для вычисления факториала и одновременно результат его работы; – имя основной

118

программы;

– параметр цикла;

выполняет роль индексов для

векторов – столбцов

и (массивов

и );

– вектор - столбец,

состоящий из значения переменной

;

– вектор - столбец, состоящий из

значения переменной

. До входа в цикл переменной присваивается

начальное значение . В соответствии с условием задачи, в теле цикла

,

происходит формирование исходного векторов – столбцов

и

результирующего , а также изменение

на .

 

 

Как видно из полученного результата, тело цикла повторяется – раз, а обращение к подпрограмме происходит - раз ( ), используя каждый

раз в качестве фактических по

параметра, которые подставляются

вместо формального параметра

подпрограммы .

Вывод полученных результатов записан в виде вектора - строки из двух элементов, причем первый элемент представляет собой исходный вектор – столбец , второй результирующий вектор – столбец

(PodProg2) .

Реализация рекурсивных алгоритмов в Mathcad Prime

До сих пор мы рассматривали случаи, когда основная программа обращается к подпрограмме, но существуют случаи, когда в теле программы (подпрограммы) происходит обращение к самой себе.

Рекурсия – это такой способ организации вычислительного процесса, при котором программа (подпрограмма) в ходе выполнения составляющих ее операторов обращается сама к себе.

Алгоритм называется рекурсивным, если он прямо или косвенно обращается к самому себе. Часто в основе такого алгоритма лежит рекурсивное определение какого-то понятия.

Например, вычисление факториала можно определить следующим

1, если n = 0

образом: n! =

n (n 1)!, если n 0

В Mathcad Prime, имеется возможность для реализации рекурсивных алгоритмов. Рассмотрим эту возможность на примере вычисления факториала рекурсивным методом.

119

Вид документа Mathcad Prime:

Пояснение к программе: Здесь, – имя программы вычисления факториала; – результат вычисленного факториала; – формальный параметр программы ; – фактический параметр, который из тела основной программы подставляется вместо , т.е. фактически происходит обращение программы к самой себе; – фактический параметр для вычисления (Rekursia)

Рекурсивный алгоритм обращается к самому себе, пока не выполнится определенное условие, поэтому в любой рекурсивной подпрограмме

должна быть нерекурсивная ветвь (в нашем примере это: ).

Рекурсию, в Mathcad Prime, можно организовать и не прибегнув к вкладке Программирование. Для этих целей используют оператор условного ветвления . Оператор следует набирать вручную, на клавиатуре.

Вид документа Mathcad Prime:

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

120