Символьное решение уравнений 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Символьное решение уравнений



Решение уравнений в символьном виде позволяет найти точные или приближенные корни уравнения:

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

• если нужно найти все комплексные корни полинома со степенью меньше или равной 4, символьное решение даст их точные значения в одном векторе или в аналитическом или цифровом виде. Команда СимволыПеременныеВычислить позволяет решить уравнение относительно некоторой переменной и выразить его корни через остальные параметры уравнения.

Чтобы решить уравнение символьно, необходимо:

1. Напечатать выражение (для ввода знака равенства используйте комбинацию клавиш Ctrl + =);

2. Выделить переменную, относительно которой нужно решить уравнение, щелкнув на ней мышью;

3. Выбрать пункт меню Символы → Переменные → Вычислить.

Нет необходимости приравнивать выражение нулю. Если MathCAD не находит знака равенства, он предполагает, что требуется приравнять выражение нулю.

Чтобы решить систему уравнений в символьном виде, необходимо выполнить следующее:

1. Напечатать ключевое слово Given;

2. Напечатать уравнения в любом порядке ниже слова Given. Удостоверьтесь, что для ввода знака = используется Ctrl + =;

3. Напечатать функцию Find, соответствующую системе уравнений;

4. Нажать Ctrl +.(клавиша CTRL, сопровождаемая точкой). MathCAD отобразит символьный знак равенства →;

5. Щелкнуть мышью на функции Find.

 

4. Разработка программ в MathCAD

Программные операторы находятся в наборной панели Programming.

Программный блок имеет вид самостоятельного модуля, выделяемого в тексте документа жирной вертикальной чертой

Набор программных элементов для создания программных модулей весьма ограничен и содержит следующие элементы:

Add Line — создает и при необходимости расширяет жирную вертикальную линию, справа от которой в шаблонах задается запись программного блока;

← — символ локального присваивания (в теле модуля);

if — оператор условного выражения;

for — оператор задания цикла с фиксированным числом повторений;

while — оператор задания цикла типа «пока» (цикл выполняется, пока выполняется некоторое условие);

otherwise — оператор иного выбора (обычно применяется с if);

break — оператор прерывания;

continue — оператор продолжения;

return — оператор-функция возврата;

on error — оператор обработки ошибок.

 

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

Оператор ← выполняет функции внутреннего локального присваивания. Например, выражение x ← 123 присваивает переменной x значение 123. Локальный характер присваивания означает, что такое значение x сохраняет только в теле программы. За пределами тела программы значение переменной x может быть не определенным, либо равно значению, которое задается операторами локального:= и глобального присваивания вне программного блока.

Оператор if является оператором для создания условных выражений. Он задается в виде: Если Условие выполняется, то возвращается значение Выражения. Совместно с этим оператором часто используются операторы прерывания break и оператор иного выбора otherwise.

Оператор for служит для организации циклов с заданным числом повторений. Он записывается в виде: for Var ϵ Range – выражение, помещенное в шаблон под словом for, будет выполняться при изменении переменной Var в диапазоне Range. Range может быть непосредственно диапазоном Nнач.. Nкон, может быть ранжированной величиной (Nнач,, Nслед.. Nкон) или вектором.

Оператор while служит для организации циклов, действующих до тех пор, пока выполняется некоторое логическое условие. Этот оператор записывается в виде: while Условие-Выполняемое выражение записывается на место шаблона под словом while.

Оператор otherwise ("иначе") обычно используется совместно с оператором if. Его использование поясняет следующая программная конструкция: f(x):= 1 if x > о возвращает 1 если x>0 otherwise возвращает -1 во всех иных случаях.

Оператор break вызывает прерывание работы программы всякий раз, как он встречается. Чаще всего он используется совместно с оператором условного выражения if и операторами циклов while и for, обеспечивая переход в конец тела цикла.

Оператор продолжения continue используется совместно с операторами циклов while и for, обеспечивая прерывание текущей итерации цикла и возврат в начало цикла.

Особый оператор-функция return прерывает выполнение программы и возвращает значение своего операнда, стоящего следом за ним. Например, в приведенном ниже случае return 0 if x<0 будет возвращаться значение 0 при любом x<0.

Оператор обработки ошибок on error позволяет создавать конструкции обработчиков ошибок. Этот оператор задается в виде: Выражение_1 o n error Выражение 2

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

 

 

5. Разработка программ линейной структуры

После запуска среды Delphi в главном меню выберите пункт File, а затем в раскрыв­шемся меню выберите пункт New. В дальнейшем для краткости подобную последова­тельность действий будем обозначать: File | New | Other.... Далее щелчком мыши следует выбрать пиктограмму с подписью «Console Application» и нажать кнопку ОК. После этого раскроется окно файла проекта (он име­ет расширение.dpr) или, другое название, главного модуля проекта.

Вместо комментария

{ TODO -oUser -cConsole Main: Insert code here }

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

Program Project1; //заголовок программы

{$ APPTYPE CONSOLE} //консольный режим

uses

SysUtils; //обращение к модулю (библиотеке) системных подпрограмм

Var a,b,s:real; //описание переменных

Begin //начало тела программы

Writeln (‘Enter a,b’); //вывод строки

Readln (a,b); //ввод переменных

S:=a+b; //присваивание выражения результату

Writeln (‘Summa=’, s:5:2); //вывод результата

Readln //нажмите Enter

End. //конец программы

 

Перед тем как запустить программу на выполнение, необходимо сохранить ее. Сделать это можно при помощи команды File | Save Project As…. Запустите его на выполнение.

Это можно сде­лать, выполнив команду Run | Run, либо нажать функциональную клавишу F9, либо вы­брать кнопку Run на инструментальной панели быстрых кнопок.После успешной компиляции и запуска программы на выполнение на экране появит­ся стандартное окно программы DOS. После вывода символьной строки 'Enter x,y' программа ожидает ввода значений переменных, о чем свидетельствует мигающий курсор. После ввода значений на экране появится строка, содержащая ответ.

Если посмотреть содержимое папки, в которой вы сохранили проект, то обнару­жите там следующие файлы:

• MyProgram.dpr - файл проекта (главный модуль проекта).

• MyProgram.exe - файл приложения или исполняемый файл. Он будет создан ком­пилятором, если в процессе компиляции не будет обнаружено синтаксических оши­бок. Иными словами, если вам удалось запустить свою программу на выполнение, например при нажатии на клавишу F9, то это и будет означать, что исполняемый файл создан. Исполняемый файл является автономным исполняемым файлом, т.е. для его работы не требуются какие-либо другие файлы. Вы можете запустить его на выполнение как любую другую программу, выполнив, например, команду «От­крыть» в программе Проводник.

• MyProgram.cfg - файл конфигурации проекта. Он содержит установки проекта, на­пример используемые директивы компилятора.

• MyProgram.dof- файл опций проекта. В нем хранится информация, необходимая для правильной работы проекта в целом или, более точно, установки опций проекта.

Файлы опций проекта и конфигурации проекта создаются Delphi автоматически, од­новременно с созданием файла проекта.

6. Разработка программ разветвляющейся структуры

Условный оператор IF. Условные операторы обеспечивают выполнение или невыполнение некоторого оператора, группы операторов или блока в зависимости от заданных условий.

Оператор условия IF может принимать одну из следующих форм:

 

1) IF <условие> THEN <оператор 1> ELSE <оператор 2>;

2) IF <условие> THEN <оператор>;

 

Оператор выбора CASE. Оператор выбора является обобщением оператора IF и поз­воляет сделать выбор из произвольного числа имеющихся вариантов. Он состоит из выражения, называемого селектором, и списка параметров, каждому из которых предшествует список констант выбора (список может состоять и из одной константы). Как и в операторе IF, здесь может присутствовать слово ELSE, имеющее тот же смысл.

 

Формат: CASE <выражение-селектор> OF

<список 1>: <оператор 1;>

<список 2>: <оператор 2;>

.....

<список n>: <оператор n> ELSE <оператор n+1>

END;

 

Оператор CASE работает следующим образом. Сначала вычисляется значение выражения селектора, затем обеспечивается реализация того оператора, константа выбора которого равна текущему значению селектора. Если ни одна из констант не равна текущему значению селектора, выполняется оператор, стоящий за словом ELSE. Если слово ELSE отсутствует, активизируется оператор, находящийся за словом END, то есть первый оператор за границей CASE. Выражение-селектор может иметь любой порядковый тип, как правило, это целый или литерный и ни в коем случае не вещественный. Выражение и константы должны принадлежать одному типу. Список констант выбора состоит из произвольного количества значений или диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разграничитель.

 

7. Разработка программ циклической структуры

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

Оператор FOR может быть представлен в двух форматах:

FOR <параметр цикла>:=<S1> to <S2> do <оператор>;

FOR <параметр цикла>:=<S1> downto <S2> do <оператор>;

S1 - начальное значение; S2 - конечное значение;

<оператор> - тело цикла.

Параметр цикла (переменная цикла), его начальное и конечное значение могут быть любого упорядоченного типа (обычно - типа integer и ни в коем случае не real), обязательно все одного и того же. При каждом повторе значение параметра цикла увеличивается на 1 (при FOR... TO) или уменьшается на 1 (при FOR... DOWNTO).

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

Оператор цикла с постусловием REPEAT. В практических задачах, как правило, число повторений заранее неизвестно, а определяется по ходу реализации этого циклического процесса. (Если условием окончания вычислений достижение заданной точности, то такие циклы называют итерационными.)

Такие циклы можно построить при помощи оператора повтора с предусловием Repeat.

Формат: repeat {повторить}

<оператор 1>;

........

<оператор N>

until <условие>; { пока}

 

Условие - выражение булевского типа. При наличии условия допустимы булевские операции и операции отношения. Операторы, заключенные между словами repeat и until, являются телом цикла. Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. Если результат булевского выражения FALSE, тело цикла активизируется еще раз, если результат TRUE - происходит выход из цикла.

Оператор REPEAT имеет три характерные особенности:

- выполняется по крайней мере один раз, т.к. условие повторяется после выполнения тела цикла;

- тело цикла выполняется, пока условие равно FALSE;

- в теле может находиться произвольное число операторов без операторных скобок begin...end, т.к. два зарезервированных слова Repeat и Until уже играют роль скобок.

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

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

 

Формат: WHILE <условие> DO <тело цикла>;

 

Условие - булевское выражение, а тело цикла - простой или составной оператор. Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат равен TRUE, тело цикла выполняется и снова вычисляется выражение условия. Если результат равен FALSE, происходит выход из цикла и переход к первому после WHILE оператору. Если перед первым выполнением цикла значение выражения было FALSE, тело цикла вообще не выполняется и происходит переход на следующий оператор.

Пример: i:=30;

while i<0 do i:=i+1;

write (i);

В данном случае наращивания i не произойдет, т.к. условие с самого начала имеет значение false.

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

 

8. Разработка программ с одномерными массивами

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

Если в программе используется массив, то он должен быть описан либо в разделе типов, либо в разделе переменных.

В разделе типов

TYPE <имя типа>=array[тип индекса] of <тип компонента>;

TYPE M = array[1..5] of real;

VAR A: M;

В разделе переменных

VAR A: array[тип индекса] of <тип компонента>;

VAR A: array[1..5] of real;

Здесь А – имя массива, элементы которого имеют базовый тип REAL. Тип индекса - диапазон от 1 до 5.

Итак, VAR <имя массива>: array[t1] of [t2];

t1 – тип индекса, в качестве которого может быть любой порядковый тип;

t2 – любой тип, допустимый в Паскале.

После объявления массива, каждый его элемент можно обработать, указав имя массива и индекс элемента в квадратных скобках. При работе с двумерными массивами указывается два индекса, с N-мерными, N индексов.

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



Поделиться:


Последнее изменение этой страницы: 2016-08-15; просмотров: 862; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.52.86 (0.062 с.)