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

Теоретические и практические вопросы дисциплины «Информатика». Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
☆
41
Задача 1. Вычислить длину гипотенузы (с) прямоугольного
22
bac
3:a 5:b
22
: bac
831.5c
треугольника, если известны значения длин катетов а и b.
Анализ задачи:
Известно, что длина гипотенузы связана с длинами катетов соотношением
Программа в MathСad:
Из приведенных записей видно, что задача решается довольно просто, но кроме решения задачи еще важно грамотно оформить программу.
Для оформления программы и ввода в текст (л и с т и н г ) программы сообщений кроме математических блоков в MathCAD можно создавать т е к с т о в ы е о б л а с т и . Для создания текстовой области используют механизм: Вставка => Регион текста. После этого на экране создается небольшая прямоугольная область, в которой курсор закрашен в красный цвет.
Если клавиатуру переключить на русский шрифт и включить шрифт Arial Cyr или Times New Roman Cyr, то можно, используя буквы русского алфавита, вводить в листинг программы различные сообщения, например написать ш а п к у программы. Также полезно к каждому математическому блоку написать подсказки (комментарии), что позволяет любому пользователю легко разобраться в программе.
Запишем вышеприведенную программу, составив шапку программы и вставив подсказки:
Программа в MathCAD: Программа для вычисления длины гипотенузы
Разработчик программы − студент гр. 6131-11 Байгузин Н.Г. Дата разработки программы − 21.01.13
42
Имя файла программы: Len_Gipotenuza.mcd
c a2b2
c 5.831
 
 
 
 
a
arc
x
xx
Y
2
sin
)cos(
31,0
lg
2
3
25
Введите длины катетов а и b (в метрах):
a:=5 b:=3
Вычисление длины гипотенузы:
Длина гипотенузы в метрах равна:
Оформление программы включает в себя также закраску блоков, что делает программу легко читаемой. Рекомендуем вам использовать следующие цвета для раскраски блоков:
- зеленый цвет для закраски блоков с исходными данными;
- желтый цвет для закраски блоков с формулами;
- красный цвет для блоков, которые выводят основные или
промежуточные результаты расчетов.
Все остальные блоки можно раскрашивать в зависимости от вашего желания и вкуса. Желательно использовать при раскраске блоков светлые тона, т.к. при распечатке программы на обычном (не цветном) принтере на темном фоне плохо видны формулы, цифры и текст.
2.4 Линейные вычислительные процессы
В линейных программах один математический блок выполняется за другим в том порядке, в котором их записал пользователь.
Пользователь должен учитывать, что MathСad выполняет математические блоки слева направо и вниз (при отсутствии глобальной переменной).
Задача 2. Вычислить значение переменной Y:
где x=1,5; a=3,2 Программа в MathCAD: Программа для вычисления выражения
43
Программист − студент КНИТУ, гр. 6131-11 Белова А.В.
Y=3.67
x 1.5
a 3.2
Y log
x50.313x2
cos x( )
2
 
 
asin
2 a


Дата разработки программы − 28.01.13 Имя файла программы: Задача2.mcd
Ввод данных:
Вычисление переменной Y:
Вывод результата:
Обсуждение программы:
Для вычисления значения переменной Y в первую очередь необходимо задать исходные данные (в данном случае значения переменных x и a), которые используются в выражении. Обратите внимание на то, что целая часть числа отделена от дробной части десятичной точкой. Необходимо помнить, что в MathCAD многие математические функции обозначаются иначе, чем в математике, например, десятичный логарифм (lg x) записывается как log(x), arcsin(x) записывается как asin(x). При записи произведения обязательно вводится знак умножения – звездочка (*) с клавиатуры или знак × с панели Калькулятор.
После получения результата закрасьте блоки и выровняйте их по вертикали и горизонтали, используя пиктограммы выровнять по
вертикали и выровнять по горизонтали.
Задача 3. Вычислить площадь круга для значений радиуса 3; 13; 20. Анализ задачи:
Как известно, площадь круга вычисляется по формуле:
S=πR2
Эту задачу можно решить, заменяя значение радиуса каждый раз на новое число или, если присвоить значения заданных радиусов различным переменным: R1, R2, R3.
Однако такие способы решения задачи не являются эффективными.
44
Для эффективного решения задачи необходимо использовать
mmm
2

1
ф у н к ц и ю п ол ьз о в а т е л я .
Функция пользователя
Формат функции пользователя:
имя_функции_пользователя (параметры) := выражение
имя_функции_пользователя − это имя, которое присваивается
заданному выражению. Имя функции пользователя создается так же, как и имя переменной, то есть это совокупность букв и цифр, записанная без пробелов и начинающаяся с буквы; параметры − это те переменные, от которых будет зависеть выражение; выражение − это константы, переменные и функции, соединенные знаками арифметических действий.
Приведем пример записи функции пользователя в MathCAD:
mmm(x):=sin(x)
Такая запись означает, что функция sin(x) переименована программистом, имеет имя mmm и зависит от х.
При выполнении блока, в котором определена функция пользователя, MathCAD не производит вычисления, просто выражение получает новое имя − имя_функции_пользователя. Вычисления производятся только тогда, когда вместо формального значения параметра подставляют конкретное числовое значение, например,
Используя понятие функции пользователя, решим поставленную задачу о вычисления площади круга для различных значений радиуса:
Программа в MathCAD: Программа для вычисления площади круга
Программист − студентка гр. 6131-11 Боярова А.А. Дата разработки программы − 28.01.13 Имя файла программы S_KRUG.mcd
Определение функции пользователя:
45
S R( ) R2
Вычисление площади для заданных значений радиуса:
S 3( ) 28.274 S 13( ) 530.929 S 20( ) 1.257 10
3
Задание 7. Запишите вышеприведенную программу и вычислите значение переменной. Запишите программу в отдельный файл и сохраните ее.
Оформите отчет о проделанной работе в Word. Для этого запишите условие задачи, используя Microsoft Equation 3.0. Скопируйте программу в буферную память, используя клавишу Print Screen. Откройте стандартную программу Paint и вставьте информацию из буферной памяти. При необходимости откорректируйте картинку с программой, убрав все лишнее и увеличив ее масштаб, так чтобы она была хорошо читаемой.
2.5 Разветвляющиеся вычислительные процессы
Система MathCAD позволяет достаточно просто решать задачи с условиями.
Для решения таких задач можно использовать функцию if. Рассмотрим формат этой функции:
if (условие, выражение_1, выражение_2)
условие − это проверяемое условие, которое может принимать два
значения: False (Ложь) и True (Истина). Если в результате проверки условного выражения получается значение True, то выполняется
выражение_1, а если получается значение False, выполняется выражение_2. Результатом выполнения выражения_1 или
выражения_2 является число. Таким образом, результатом функции if тоже будет число.
Проверяемое условие в функции if может быть как п р о с т ы м , содержащим один знак отношения, так и с л о ж н ы м , содержащим несколько знаков отношения.
Задача 4. Вычислить значение переменной y для x=25:
46
 
0,
0,
2
xеслиx
xеслиx
y
X:=25
y if x 0
2
x x2

y 5
f1 x( ) x
f2 x( ) x
2

y x( ) if x 0 f1 x( ) f2 x( )( )
Программа в MathCAD: Программа для вычисления переменной y
Разработчик программы − студент гр. 6131-11 Валеева Р.А. Дата разработки программы − 28.01.13 Имя файла программы Log_1.mcd
Ввод данных:
Вычисление переменной y:
Вывод результата:
Обсуждение программы:
При решении этой задачи достаточно проверить одно из условий, т.к. при его невыполнении, второе условие автоматически выполняется.
Задача 5. Решить предыдущую задачу если переменная x имеет несколько значений, например, 16; -4; 25. Для записей выражений x
и x2 использовать функцию пользователя. Программа в MathCAD:
Программа для вычисления переменной y Разработчик программы − студент гр. 6131-11 Вильданова К.Н. Дата разработки программы − 28.01.13 Имя файла программы Log_2.mcd
Запишем функции пользователя:
Запишем функцию if в виде функции пользователя:
47
Вычислите значения переменной y:
 
 
0,cos
0,
0x,sin
xеслиx
xеслиxtg
еслиx
y
180
:)(
xxr
if(x sin(r(x)),0,x(:)( ifxy
)cos(r(x)))tan(r(x)),0,
Вычисление результата (аргумент-градусы):
y(-90) = -1
y(60) = 0.5
y 16( ) 4
y 4( ) 16
y 25( ) 5
y 0( ) 0
Обсуждение программы:
При решении этой задачи отдельные функции были записаны как функции пользователя, что позволяет записать функцию if в компактной форме.
Задача 6. Вычислить значение переменной y:
для любого значения x, заданного в градусах из интервала
(-900 ≤ x ≤ 900).
Программа в MathCAD: Программа для вычисления переменной y.
Разработчик программы − студент гр. 6131-11 Газарян К.А. Дата разработки программы − 28.01.13 Имя файла программы Log_3.mcd Перевод градусов в радианы:
Запись сложной функции y
=
Обсуждение программы:
48
Учитывая, что значения х заданы в градусах, необходимо
P 
предусмотреть их перевод в радианную форму при вычислении тригонометрических функций. Такой перевод выполнен в виде функции пользователя r(x).
В этом случае заданное сложное выражение тоже должно быть записано как функция пользователя. Кроме того, для проверки условий необходимо использовать несколько функций if . Это вполне допустимо, т.к. выражение_1 или выражение_2 − это совокупность констант, переменных и функций и, следовательно, выражение_1 или выражение_2 может быть функцией if.
Обращаем ваше внимание на то, что обычный знак равенства, нельзя использовать при написании второго условия (он предназначен для вывода результата на экран монитора). В таких случаях необходимо использовать б у л е в с к и й з н а к р а в е н с т в а ( = ) , который находится на панеле Булева алгебра (при необходимости ее легко включить, используя механизм Вид=>панели инструментов
=>Булева алгебра.
Последнее, третье условие проверять необязательно, т.к. оно всегда будет выполнятся, если не выполнятся первые два условия.
При записи функции пользователя вычисления не выполняются. Однако при подстановке числовых значений углов в функцию пользователя вычисляется та или иная тригонометрическая функция в зависимости от выполнения заданных условий.
Для решения задач с условиями можно использовать вместо функции if о п ера т о р пр о г рам м и р ова н и я if. Все операторы программирования находятся на специальной панели Программирование, которая позволяет создавать в MathСad программы. Для создания простейших программ вызовите эту панель. Программа в MathСad обозначается так же, как и имя переменной. Собственно программу создает специальный оператор Add Line,
вызвав который, получают вертикальную линию с двумя позициями:
Эти позиции можно использовать для записи выражений, зависящих от каких либо условий.
49
Задача 7. Вычислить значение сложной функции для x=4:
 
 
0x,
5x0,
0x,
2
еслиx
еслиx
еслиx
y
x 4
y x
2
x 0if
x 0 x 5if
x x 5if

y 2
y x
2

,
используя для решения задачи о п е р а т о р if.
Программа в MathCAD:
Обсуждение программы:
Обозначим программу буквой y и, используя оператор Add Line, создадим программу. В первую позицию программы введем первое выражение x2. Тогда имеем:
После ввода первого выражения x2, выделим его и щелкнем по оператору if, расположенному на панели программирования. В результате справа от if появиться поле, в которое можно записать проверяемое условие. Для записи еще двух выражений необходимо в программу добавить дополнительное поле. Для этого устанавливаем курсор в пустое второе поле и вновь щелкаем по оператору Add Line. После ввода оставшихся выражений и условий получаем программу, как записано выше.
Обратите внимание на то, что MathCAD позволяет записывать сложные условия (второе в данной задаче). Такую запись можно
50
сделать как в операторе if, так и функции if, что упрощает решение
 
 
0x,x
10x,10
0x,
2
если
если
еслиx
y
y x( ) x
2
x 0if
10 x 0if
x otherwise

Вычислим значение переменной y:
y 5( ) 25
y 25( ) 5
y 0( ) 10
сложных задач. Задача 8. Вычислить значение переменной y, зависящей от трех
условий:
,
используя оператор if, если аргумент имеет несколько значений, например: 5; 25; 0. Заметим, что программу в MathCAD можно оформлять как функцию пользователя, т.е. она может зависеть от параметров. Кроме того, для сокращения записей в программе можно использовать оператор o t h e r w i s e (иначе). Для увеличения позиций в операторе Add Line (с двух до трех) устанавливают курсор в любой позиции оператора Add Line и щелкают по оператору Add Line, расположенному на панеле Программирование.
Программа в MathCAD:
Запишем программу, как функцию пользователя:
Обсуждение программы:
При составлении программы использован оператор программирования (Add Line). Для проверки условия x=0 использован булевский знак равенства (=), который расположен на панеле Булева
алгебра.
Использование оператора программирования вместо функции if позволяет написать более лаконичную программу.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]