- •Методические указания
- •Методические указания
- •Лабораторная робота № 1
- •Вводные замечания.
- •Часть 1. Решение уравнения в Excel Порядок выполнения работы
- •Пример выполнения
- •Часть 2. Решение уравнения методами среды MathCad Вводные замечания.
- •Порядок выполнения работы
- •Вариантызаданий
- •Содержаниеотчета
- •Лабораторная робота №2
- •Вводныезамечания.
- •Постановка задачиинтерполирования
- •Интерполирование для случая равноотстоящих узлов. Первая ивто- рая интерполяционные формулыНьютона
- •Лабораторная работа №3
- •Прямые методы
- •Примервыполнения
- •Часть 1. Решение системы уравнений в Excel
- •Ячейка Значение Ячейка Значение Ячейка Значение
- •Ячейка Содержимое
- •Часть 2. Решение системы уравнений методами среды MathCad
- •Лабораторная работа № 4
- •2.Порядок выполнения работы
- •Вариантызаданий
- •Содержаниеотчета
- •Лабораторная работа № 5 Тема: Численное дифференцирование
- •Вводныезамечания.
- •Ошибки разностных формул
- •Вариантызаданий
- •Пример выполнения задания представленниже.
- •Тема: численное интегрирование функций
- •Правило трапеций
- •3.Порядок выполнения работы
- •4. Варианты заданий
- •4. Содержание отчета
- •Лабораторная работа № 7
- •Цель работы: научиться обрабатывать табличные - заданные функции методами среды MathCad
- •Вводныезамечания.
- •2.Пример аппроксимации таблично заданной функции способами MathCad.
- •Аппроксимациясплайном
- •3.Порядок выполнения работы
- •4. Вариантызадач
- •4.Содержание отчета
- •Лабораторнаяработа №8
- •Оператор Add Line
- •Оператор внутреннего присваивания
- •Поиск точки минимума
- •Варианты заданий
- •12.4.Bapиaнты задач
- •Лабораторная работа № 9 Тема: Решение дифференциального уравнения первого порядка ме- тодом Рунге — Кутта
- •Вводныезамечания.
- •4. Содержание отчета
- •Лабораторная работа № 10
- •3.Варианты заданий
- •4. Содержание отчета
- •Лабораторная работа № 11
- •Лабораторная работа № 12
- •Литература
- •Содержание:
4.Содержание отчета
Постановлениезадачи.
Описание реализации задачи выбранными методами в средеMathCAD.
Результаты, их анализ и графическиеизображения
Лабораторнаяработа №8
ТЕМА: Операторы программирования , поиск экстремума функций
Обзор программныхоператоров
Нетрудно заметить, что набор программных элементов для создания программ- ных модулей весьма ограничен и содержит следующие элементы:
Add Line - создает и при необходимости расширяет жирную вертикальную ли- нию, справа от которой в шаблонах задается запись программного блока;
- символ локального присваивания (втелемодуля);if - оператор условноговыражения;
for - оператор задания цикла с фиксированным числомповторений;
while - оператор задания цикла типа "пока" (цикл выполняется,покавыпол-няется некотороеусловие);
otherwise - оператор иного выбора (обычно применяется сif);
break -операторпрерывания;continue - операторпродолжения; return - операторвозврата;
on error - оператор обработки ошибок.
Оператор Add Line
Оператор Add Line выполняет функции расширения программного блока. Расширение фиксируется удлинением вертикальной черты программных блоков или их древовидным расширением. Благодаря этому, в принципе, можно созда- вать сколь угодно большие программы.
Оператор внутреннего присваивания
Оператор выполняет функции внутреннего, локального присваивания.
Например, выражение х 123 присваивает переменной х значение 123. Локаль- ный характер присваивания означает, что такое значение х сохраняет только в теле программы. За пределами тела программы значение переменной х может быть неопределенным либо равно значению, которое задается операторами ло- кального := и глобального = присваивания вне программного блока.
Условный оператор if
Оператор if является оператором для создания условных выражений. Он за- дается в виде:
Выражение if Условие
Если Условие выполняется, то возвращается значение Выражения. Совме- стно с этим оператором часто используются операторы прерывания break и опе- ратор иного выбора otherwise.
Оператор for
Оператор for служит для организации циклов с заданным числом повторе- ний. Он записывается в виде:
for Var Nmin .. Nmax
Эта запись означает, что выражение, помещенное в шаблон, будет выпол- няться для значений переменной Var, меняющихся с шагом +1 от Nmin до Nmax. Переменную счетчика Var можно использовать в исполняемом выражении.
Оператор while
Оператор while служит для организации циклов, действующих до тех пор, пока выполняется некоторое условие. Этот оператор записывается в виде:
while Условие
Выполняемое выражение записывается на место шаблона.
Оператор otherwise
Оператор иного выбора otherwise обычно используется совместно с опера- тором if. Это поясняет следующая программная конструкция:
f(x):= 1 ifх>0 возвращает 1, если х >О
-1otherwise возвращает -1 во всех иныхслучаях
Оператор break
Оператор break вызывает прерывание работы программы всякий раз, как он встречается. Чаще всего он используется совместно с оператором условного вы- ражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.
Оператор continue
Оператор продолжения используется для продолжения работы после пре- рывания программы. Он также чаще всего используется совместно с оператора- ми задания циклов while и for, обеспечивая возврат в точку прерывания и про- должение вычислений.
Оператор—функция возврата return
Особый оператор return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае
return 0 if x<0
будет возвращаться значение 0 при любом х < 0. Оператор on error и функция error
Оператор обработки ошибок позволяет создавать конструкции обра- ботчиков ошибок. Этот оператор задается в виде:
Выражение_1 on error Выражение_2
Здесь, если при выполнении Выражения_2 возникает ошибка, то выполня- ется Выражение_2. Для обработки ошибок полезна также функция error(S), ко- торая, будучи помещенной в программный модуль, при возникновении ошибки возвращает окошко с надписью, хранящейся в символьной переменной S.
Примерыпрограммирования
Несмотря на скромность набора программных средств, они дают системе Mathcad именно те возможности, которые ранее попросту отсутствовали: зада- ние специальных функций, задание различных видов циклов (в том числе вло- женных), упрощение алгоритмов применением операций присваивания и реали- зацию различных итерационных и рекурсивных процедур. Рекомендуется вни- мательно изучить рис. 2.50, на котором показана часть этих возможностей.
Обратите особое внимание на второй пример вычисления факториала. Здесь при вычислении факториала использовано задание одного программного модуля внутри другого. Вообще говоря, для нескольких подмодулей, которые должны выполняться в составе циклов, надо использовать их объединение в виде жирной вертикальной черты. Для этого служит команда Add Line, добавляющая в мо- дуль дополнительную вертикальную черту для подмодуля.
Применение условного оператора if в программном блоке:
abs(5)
5
abs(5) 5
Применение условного оператора for для вычисления суммы и произве- дения последовательности целых чисел от 1 до n:
sum(10)
55
sum(20) 210
prod(3)
6
prod(10)
3.629 106
Применение
оператора while и break для вычисления
факториала:
-
Fact(n) f 1
while n n 1
F(n)
f n while 1
f f (n 1)
f
f f (n 1)
n n 1
Fact(3) 6
( break) if n 1
f
F(3)
6
Пример применения условной функции if
f (y) sin(y)
z(y) if(f (y)
0f(y)0)
y 0 0.1 15
1
0.5
z(y)
0
0 5 10 15
y
K(x) 1 x
T 3
P(x) if(x
TK(x)P(xT))
x 0 0.1 15
1
0
P(x)
1
20 5 10 15
x
Программный модуль, в сущности, является функцией, но описанной с при- менением упомянутых программных средств. Она возвращает значение, опреде- ляемое последним оператором (если не предусмотрено иное с помощью опера- тора return). Это значит, что после такого модуля, выделенного как целый блок, можно поставить знак равенства для вывода результата его работы. В блоке мо- гут содержаться любые операторы и функции входного языка системы. Для пе- редачи в блок значений переменных можно использовать переменные докумен- та, которые ведут себя в блоке как глобальные переменные.
Обычно модулю присваивается имя со списком переменных, после которого идет знак присваивания :=. Переменные в списке являются локальными, и им можно присваивать значения при вызове функции, заданной модулем. Локаль- ный характер таких переменных позволяет использовать для их идентификато- ров те же имена, что и у глобальных переменных документа. Однако лучше этого не делать и использовать разные имена для локальных переменных программных модулей и переменных документа.
Составить программный модуль вычисленияфункции Варианты заданий получить упреподавателя.
8.4.
Поиск минимума методом золотогосечения
(с комментариями Rem
Золотаяпропорция x
a
b x
has solution(s) - попеременнойx
0 )
b x b a
3b
2
3b
2
1a1
2 2
1a1
2 2
(ba)
(ba)
Функция "Золотое сечение"
Зол_Сеч(a b)
3b
2
1a1
2 2
(ab)
мин_З_С
(
y a
b) Поиск_минимума_в_интервале_от_a_до_b Rem
x1 Зол_Сеч
x2 Зол_Сеч
(ab)y1 y( x1)
(ba)y2 y(
x2)
Цикл_приближения_к_минимуму Rem
while
if
a b
y1 y2
TOL
Минимум_слева Rem
b x2x2 x1y2 y1
x1 Зол_Сеч
otherwise
(ab)y1 y( x1)
Минимум_справа Rem a x1x1 x2y1 y2
x2 Зол_Сеч(
b a
)y2 y(
x2)
Уточнение_точки_минимума Rem
a b
2
