Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Метод._MathCAD_Prime

.pdf
Скачиваний:
10
Добавлен:
19.05.2021
Размер:
8.9 Mб
Скачать

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

суммы всех элементов массива .

В цикле происходит формирование вектора – столбца c номерами строк, в которых сумма элементов меньше чем число .

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

Упражнение 3

Создать двумерный массив (матрицу) случайных чисел из строк и столбцов. Все элементы, большие чем заданное число заменить на , а остальные на .

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

 

1.

Запишите формулировку задания в Текстовое поле.

2.

В первой строке запишите

.

3.

Запишите

и затем на вкладке Программирование

выберите оператор создания программы

4.Наберите необходимые операторы, используя при этом оператор локального присваивания вместо обычного :=.

5. Проверьте работу программы при = , = и

для этого

наберите

, затем обычный знак равенства =.

111

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

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

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

Индивидуальные задания

Примечание: При выполнении указанных ниже заданий поставьте значение в

1.Составить программу для решения задачи из Табл.1.

2.Создать квадратную матрицу случайных чисел размером N x N (N <=10). Составить программу решения задачи из Табл.2.

112

Таблица 1

 

 

 

Задача

 

 

 

 

 

 

 

 

 

 

1

Вычислить сумму и число отрицательных элементов матрицы А,

 

 

 

находящихся под главной диагональю. Элементы матрицы

 

 

 

вычисляются по формуле A

( 1)i (2 j

 

i j

 

!) , где i, j 1,2,...,10 .

 

 

 

 

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2Вычислить сумму и число положительных элементов матрицы А,

находящихся под главной диагональю. Элементы вычисляются по формуле Ai, j ( 1)i j ( j 10) ((i 2)!) , где i, j 1,2,...,10 .

3Вычислить сумму и число положительных элементов матрицы А,

находящихся на главной диагонали. Элементы матрицы вычисляются по формуле Ai, j ( 1)i (| i j |)! , где i, j 1,2,...,10 .

4 Вычислить сумму и число положительных элементов матрицы А.

Элементы матрицы вычисляются по формуле A

 

( 1) j (i 1)!

, где

 

 

i, j

 

j!

 

 

 

 

i, j 1,2,...,10 .

 

 

 

 

5Вычислить число и сумму отрицательных элементов матрицы А,

находящихся над главной диагональю. Элементы вычисляются по

формуле A

1 i j (1 cos(| i 6 |!))

, где i, j 1,2,...,10 .

i, j

 

 

6Вычислить число и сумму отрицательных элементов матрицы А, находящихся под главной диагональю. Элементы вычисляются по

формуле A

1 i j 2 ( 1)i 3 ( 1) j 5

, где i, j 1, 2,...,10 .

i, j

 

 

7В матрице А положительные элементы заменить на нули и

результаты записать в матрицу В. Вычислить число и сумму отрицательных элементов в матрице В. Элементы матрицы А

вычисляются по формуле A

15

3 i

, где i, j 1,2,...,10 .

i, j

3 4

j

 

 

 

8В матрице А отрицательные элементы заменить на единицы и

результаты записать в матрицу В. Вычислить число и сумму отрицательных элементов в матрице В. Элементы матрицы А

вычисляются по формуле Ai, j

 

 

2 i

 

, где i, j 1, 2,...,10 .

 

 

 

 

 

 

 

 

 

20 j

 

 

 

 

9В матрице А отрицательные элементы заменить на нули,

положительные на единицы и результаты записать в матрицу В. Вычислить число элементов, равных единице в матрице В.

Элементы вычисляются по формуле A

 

1

 

 

1

, где i, j 1,2,...,10 .

 

 

i, j

 

i

 

j

 

 

 

 

 

113

10

В каждой строке матрицы А найти минимальный элемент.

 

Элементы матрицы А вычисляются по формуле A

 

| i 5 |!

 

| j 4 |!

 

 

 

 

 

 

 

 

 

i, j

 

j

 

 

i

 

 

 

 

 

 

 

 

 

 

, где i, j 1,2,...,10 .

 

 

 

 

 

 

 

 

 

 

11

В каждом столбце матрицы А найти максимальный элемент.

 

Элементы

матрицы

А

вычисляются

по

формуле

 

A

(100 | j i |!) ( 1)i , где i, j 1, 2,...,10 .

 

 

 

 

 

 

 

i, j

 

 

 

 

 

 

 

 

 

 

12Транспонировать матрицу А и результат записать в матрицу В.

Вычислить сумму индексов положительных элементов матрицы В, стоящих на главной диагонали. Элементы матрицы А

вычисляются по формуле Ai, j

 

 

8 i

, где i, j 1, 2,...,10 .

 

 

 

 

 

 

 

 

 

3 j

 

 

 

13В матрице А найти число строк и столбцов, содержащих не более

трех отрицательных элементов, и их номера. Элементы матрицы

 

3

 

 

i

5

, где i, j 1,2,...,10 .

А вычисляются по формуле A

j 5

 

 

 

i, j

 

 

 

j

 

 

 

 

 

 

 

 

 

 

14В матрице А найти число строк и столбцов, содержащих более трех

положительных элементов, и их номера. Элементы матрицы А

вычисляются по формуле A

 

(i 1)2 j 1

, где i, j 1,2,...,10 .

j2 i 1

 

i, j

 

 

15В целочисленной матрице А найти сумму и число элементов

кратных пяти. Элементы матрицы А вычисляются по формуле

Ai, j ( j 3) (i 2) (i j 50)

, где i, j 1,2,...,10 .

16В целочисленной матрице А найти номера строк, содержащих

более трех четных элементов. Элементы матрицы А вычисляются

по формуле Ai, j | i j |! | 2 i j |! , где i, j 1,2,...,10 .

Таблица 2

Задача

 

 

1Найти сумму всех ее элементов и заменить им все элементы

главной диагонали этой матрицы.

2Найти сумму всех ее элементов и заменить им все элементы

побочной диагонали этой матрицы.

3Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наибольшим элементом в главной диагонали.

114

4Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наименьшим элементом в главной диагонали.

5Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наименьшим элементом в побочной диагонали.

6Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наибольшим элементом в побочной диагонали.

7Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наибольшим элементом.

8Получить новую матрицу путем сложения всех элементов данной

матрицы с ее наименьшим элементом.

9Получить новую матрицу путем вычитания всех элементов

данной матрицы из ее наибольшего элемента.

10Получить новую матрицу путем вычитания всех элементов

данной матрицы из ее наименьшего элемента.

11Заменить все ее элементы, расположенные на главной диагонали

ивыше нее, на наименьший элемент.

12Заменить все ее элементы, расположенные на главной диагонали

иниже нее, на наибольший элемент.

13Заменить все ее элементы, расположенные на побочной

диагонали и выше нее, на наибольший элемент.

14Заменить все ее элементы, расположенные на побочной

диагонали и ниже нее, на наименьший элемент.

15Сформировать вектор из элементов главной диагонали и найти

среднее арифметическое элементов этого вектора.

16Сформировать вектор из элементов побочной диагонали и найти

среднее арифметическое элементов этого вектора.

115

Лабораторная работа №10. Программирование с использованием подпрограмм

Цель: изучить основные возможности системы Mathcad Prime для составления программ с использованием подпрограмм.

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

В системе Mathcad Prime, практически каждая составленная программа, может быть использована при составлении более сложных программ в качестве подпрограммы – функции. Формально, подпрограммой, состоящей из одного оператора, является любая функция пользователя, входящая в состав другой программы.

Схема взаимодействия основной программы с подпрограммой:

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

116

<имя> (<список фактических параметров>)

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

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

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

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

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

разные имена. Например, если

– подпрограмма, а

– вызов

подпрограммы из основной программы, то

и

– формальные

параметры, а и –фактические параметры.

 

 

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

Упражнение 1

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

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

1. Запишите формулировку задания в Текстовое поле.

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

117

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

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

Блок – схема:

Начало

n

S:=0

-i,1,

S

k:

 

Конец

P(

 

 

S:=S

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

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

118

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

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

имя основной

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

работы;

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

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

 

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

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

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

вместо

после

каждого

обращения

к

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

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

. Обращение к

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

раз.

 

 

 

 

 

Упражнение 2

 

 

ch(x2

1) ch(

 

 

 

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

z

x

1)

, где x

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

 

ch(x)

 

 

 

 

 

 

 

 

 

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

2

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

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

1.Запишите формулировку задания в Текстовое поле.

2.Наберите :=1.

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

 

операторы.

 

 

4.

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

запишите

и

 

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

 

 

5.

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

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

 

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

 

 

119

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

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

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

 

– имя основной

программы;

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

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

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

(массивов

и );

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

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

;

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

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

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

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

,

происходит

формирование

исходного векторов

столбцов

и

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

на .

 

 

 

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

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

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

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

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

120

Тут вы можете оставить комментарий к выбранному абзацу или сообщить об ошибке.

Оставленные комментарии видны всем.