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

Основы программирования для студентов технологического профиля. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
51
b 5
c a
2
b
2

c 5.831
Из приведенных записей видно, что задача решается
c a2b2
c 5.831
довольно просто, но кроме решения задачи еще важно грамотно оформить программу.
Для оформления программы и ввода в текст (л и с т и н г ) программы сообщений кроме математических блоков в MathCad можно создавать т е к с то в ы е о б л а с т и . Для создания текстовой области используют механизм: Вставка => Регион текста. После этого на экране создается небольшая
прямоугольная область, в которой курсор закрашен в красный
цвет.
Если клавиатуру переключить на русский шрифт и
включить шрифт Arial Cyr или Times New Roman Cyr , то можно, используя буквы русского алфавита, вводить в листинг программы различные сообщения, например написать ш ап к у программы. Также полезно к каждому математическому блоку писать подсказки (комментарии), что позволяет любому пользователю легко разобраться в программе.
Запишем вышеприведенную программу, составив шапку
программы и вставив подсказки:
Программа в MathCad:
Программа для вычисления длины гипотенузы Разработчик программы -студент гр. 6131-11 Байгузин Н.Г. Дата разработки программы - 21.01.13 Имя файла программы: Len_Gipotenuza.mcd Введите длины катета а и в (в метрах):
a:=5 b:=3
Вычисление длины гипотенузы:
Длина гипотенузы, в метрах равна:
52
Оформление программы включает в себя также закраску
 
 
 
 
a
arc
x
xx
Y
2
sin
)cos(
31,0
lg
2
3
25
x 1.5
a 3.2
блоков, что делает программу легко читаемой. Рекомендуем
Вам использовать следующие цвета для раскраски блоков:
- зеленый цвет для закраски блоков с исходными данными;
- желтый цвет для закраски блоков с формулами;
- красный цвет для блоков, которые выводят результаты
расчетов.
Все остальные блоки можно раскрашивать в зависимости
от Вашего желания и вкуса. Желательно использовать при раскраске блоков светлые тона, т.к. при выводе программы на
цветном принтере на темном фоне плохо видны формулы, цифры и текст.
2.4 Линейные программы
В линейных программах один математический блок
выполняется за другим в том порядке, в котором их записал
пользователь.
Пользователь должен учитывать, что MathСad выполняет
математические блоки слева направо и вниз (при отсутствии
глобальной переменной). Задача 2.4.1. Вычислить значение переменной Y:
где x=1,5 ; a=3,2
Программа в MathCad:
Программа для вычисления выражения Программист - студент КНИТУ, гр. 6131-11 Белова А.В. Дата разработки программы - 28.01.13 Имя файла программы Задача 2.mcd
Ввод данных:
Вычисление переменной Y:
53
Y log
x50.31
3
x2
cos x( )
2
 
 
asin
2 a
 
 

Вывод результата:
Y=3.67
Обсуждение программы:
Для вычисления значения переменной Y в первую очередь
необходимо задать исходные данные (в данном случае значения
переменных x и a), которые используются в выражении.
Обратите внимание на то, что целая часть числа отделена от
дробной части десятичной точкой. Необходимо помнить, что в MathCad многие математические функции обозначаются иначе чем в математике, например, десятичный логарифм (lg x) записывается как log(x), arc sin(x) записывается как asin(x). При записи произведения обязательно вводится знак умножения – звездочка (*).
После получения результата закрасьте блоки и выровняйте их по вертикали и горизонтали, используя пиктограммы выровнять по верхнему краю или выровнять по вертикали.
Задача 2.4.2. Вычислить площадь круга для значений радиуса 3; 13; 20.
Анализ задачи:
Как известно площадь круга вычисляется по формуле:
S=πR2
Эту задачу можно решить, заменяя значение радиуса каждый раз на новое число или, если присвоить значения заданных радиусов различным переменным: R1, R2, R3.
Однако такие способы решения задачи не являются
эффективными.
Для эффективного решения задачи необходимо
использовать ф у н к ци ю п о л ь зо ва т е л я , которая имеет следующий формат:
имя_функции_пользователя (параметры) := выражение
54
имя_функции_пользователя - это имя, которое присваивается
mmm
2

1
S R( ) R2
S 3( ) 28.274
заданному выражению. Имя функции пользователя создается также как и имя переменной, т.е. это совокупность букв и цифр,
записанная без пробелов и начинающаяся с буквы; параметры - это те переменные, от которых будет зависеть выражение; выражение- это константы, переменные и функции, соединенные знаками арифметических действий.
Приведем пример записи функции пользователя в
MathCad:
mmm(x):=sin(x)
Такая запись означает, что функция sin(x) переименована
программистом, имеет имя mmm и зависит от х.
При выполнении блока, в котором определена функция
пользователя, MathCad не производит вычисления, просто выражение получает новое имя - имя_функции_пользователя.
Вычисления производятся только тогда, когда вместо формального значения параметра подставляют конкретное
числовое значение, например,
Используя понятие функции пользователя, решим
поставленную задачу о вычисления площади круга для различных значений радиуса:
Программа в MathCad:
Программа для вычисления площади круга Программист - студентка гр. 6131-11 Боярова А.А. Дата разработки программы - 28.01.13 Имя файла программы S_KRUG.mcd
Определение функции пользователя:
Вычисление площади для заданных значений радиуса:
55
S 13( ) 530.929
S 20( ) 1.257 10
3
2.5 Разветвляющиеся программы
0,
0,
2
xеслиx
xеслиx
y
x 25
Система MathCad позволяет достаточно просто решать
задачи с условиями.
Для решения таких задач можно использовать функцию if.
Рассмотрим формат этой функции:
if (условие, выражение_1, выражение_2)
условие- это проверяемое условие, которое может принимать два
значения: False (Ложь) и True (Истина). Если в результате проверки условного выражения получается значение True, то выполняется выражение_1, а если получается значение False, выполняется выражение_2. Результатом выполнения выражения_1 или выражении_2 является число. Таким образом, результатом функции if тоже будет число.
Проверяемое условие в функции if может быть как
п р о ст ы м , содержащим один знак отношения, так и
с л о ж н ы м , содержащим несколько знаков отношения Задача 2.5.1. Вычислить значение переменной y для x=25:
Программа в MathCad:
Программа для вычисления переменной y Разработчик программы -студент гр. 6131-11 Валеева Р.А. Дата разработки программы - 28.01.13 Имя файла программы Log_1.mcd
Ввод данных:
56
Вычисление переменной y:
y if x 0
2
x x
2


y 5
x
f1 x( ) x
f2 x( ) x2
y x( ) if x 0 f1 x( ) f2 x( )( )
y 16( ) 4
y 4( ) 16
y 25( ) 5
Вывод результата:
Обсуждение программы:
При решении этой задачи достаточно проверить одно из
условий, т.к. при его невыполнении, второе условие
автоматически выполняется. Задача 2.5.2. Решить Задачу 2.5.1. если переменная x имеет
несколько значений, например, 16; -4; 25. Для записей
выражений
Программа в MathCad:
Программа для вычисления переменной y Разработчик программы -.студент гр. 6131-11 Вильданова К.Н. Дата разработки программы - 28.01.13 Имя файла программы Log_2.mcd
Запишем функции пользователя:
и x2 использовать функцию пользователя.
Запишем заданное выражение в виде функции пользователя:
Значение переменной y:
Обсуждение программы:
При решении этой задачи отдельные функции были
записаны как функции пользователя, что позволяет записать
заданное сложное выражение в компактной форме.
57
Задача 2.5.3. Вычислить значение переменной y:
 
 
0),cos(
0),(
0),sin(
xеслиx
xеслиxtg
xеслиx
y X( ) if X 0 sin
X
180
 
 
 if X 0 tan
X 180
 
 
 cos
X 180
 
 

 
 

 
 

Вычисление результата (аргумент-градусы):
y 45( ) 0.785
y 0( ) 0
y 45( ) 0.707
y=
Диапазон допустимых значений x: (-900<x<900).
Программа в MathCad:
Программа для вычисления переменной y Разработчик программы -студент гр. 6131-11 Газарян К.А. Дата разработки программы - 28.01.13 Имя файла программы Log_3.mcd
Функция пользователя:
Обсуждение программы:
Заданное сложное выражение запишем как функцию пользователя, используя несколько функций if для записи условий. Это вполне допустимо, т.к. выражение_1 или выражение_2 в формате функции if - это совокупность
констант, переменных и функций и, следовательно,
выражение_1 или выражение_2 может быть функцией if.
Учитывая, что значения х заданы в градусах необходимо в
программе предусмотреть их перевод в радианную форму при
вычислении тригонометрических функций.
Обращаем Ваше внимание на то, что обычный знак
равенства, нельзя использовать при написании второго условия
58
(он предназначен для вывода результата на экран монитора). В
P 
y x
2

таких случаях необходимо использовать б у л е в с к и й з н а к р а в е н с т в а ( = ) , который находится на панельке Булева
алгебра (при необходимости ее легко включить, используя механизм Вид=>панели инструментов =>Булева алгебра.
Последнее третье условие проверять необязательно, т.к. оно всегда будет выполнятся, если не выполнятся первые два
условия.
При записи функции пользователя вычисления не выполняются. Однако при подстановке числовых значений
углов в функцию пользователя вычисляется та или иная
тригонометрическая функция в зависимости от выполнения
заданных условий.
Для решения задач с условиями можно использовать
вместо функции if о п е р а т о р п р ог р а м м и р о в ан и я if. Все операторы программирования находятся на специальной панели
П р о гр а м м и р о в а н и е , которая позволяет создавать в
MathСad программы. Для создания простейших программ вызовите эту панельку. Программа в MathСad обозначается
также как и имя переменной. Собственно программу создает
специальный оператор Add line, вызвав который получают вертикальную линию с двумя позициями:
Эти позиции можно использовать для записи выражений, зависящих от каких либо условий.
Задача 2.5.4. Вычислить значение сложной функции (см. условие Задачи 2.5.1.), используя для решения задачи опе р а т ор if.
Обозначим программу буквой y, тогда:
59
После ввода первого выражения (x2), выделим его
x 3
y x
2
x 0if
x x 0if

y 9
 
 
0x,x
10x,10
0x,
2
если
если
еслиx
y
y x( ) x
2
x 0if
10 x 0if
x otherwise

курсором и щелкнем по оператору if, расположенному на панели программирования. В результате справа от if появиться
поле, в которое можно записать проверяемое условие. То же самое проделаем с другим выражением и в результате
написанная программа выглядит так:
Задача 2.5.5. Вычислить значение переменной y, зависящей от трех условий:
,
используя оператор if, если аргумент имеет несколько значений, например -5; 25; 0. Заметим, что программу в MathCad можно
оформлять как функцию пользователя, т.е. она может зависеть
от параметров. Кроме того, для сокращения записей в программе можно использовать оператор oth e r w i se (иначе). Для увеличения позиций в операторе Add line устанавливают курсор в любой позиции оператора Add line и щелкают по оператору Add line, расположенному на панельке
Программирование.
Программа в MathCad:
Запишем программу, как функцию пользователя:
60
Вычислим значение переменной y
y 5( ) 25
y 25( ) 5
y 0( ) 10
Обсуждение программы:
При составлении программы использован оператор
программирования (Add line). Для проверки условия x=0 использован булевский знак равенства (=), который расположен
на панельке Булева алгебра.
Использование оператора программирования вместо
функции if позволяет написать более лаконичную программу.
2.6 Программы с дискретными переменными
В математике часто используют запись вида: х[а; b] (h), например, x[0; 1] (0,1). Такая запись означает, что переменная x
изменяется от нуля до единицы с шагом 0,1 т.е. принимает следующие значения: 0; 0,1; 0,2; 0,3… 1,0. Переменная, которая принимает множество определенных значений с заданным
шагом, называется д и ск р е т н о й (р ан ж и р о в а н н о й ) переменной.
2.6.1 Формат дискретной переменной в MathCad
Для записи дискретных переменных в MathCad используется следующий формат:
имя_дискретной_переменной:=НЗДП [, НЗДП+шаг]; КЗДП
имя_дискретной_переменной в MathCad записывается также как
имя простой переменной; НЗДП – начальное_значение_дискретной_переменной; НЗДП+шаг - это
второе число последовательности; наличие квадратных скобок означает, что второе число и запятая перед числом могут отсутствовать (и тогда шаг изменения дискретной переменной
равен единице); КЗДП - конечное_значение_дискретной переменной. Вышеприведенная дискретная переменная х может быть записана в MathCad следующим образом:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]