Приложение 2Программа COMCAL предназначена для вычисления комплексных функций от комплексных переменных и решения системы линейных уравнений n-ной степени с комплексными переменными. Все комплексные или действительные постоянные должны быть предварительно введены с помощью операции присвоения и фактически ничем не отличаются от переменных. Характерной особенностью синтаксиса записи операций является использование прописных (заглавных) букв для обозначения констант и переменных, поскольку строчные используются для обозначения функций. В качестве примера программы на языке системы рассмотрим программу с4_007.сс, имеющуюся на прилагаемой к книге дискете и содержащую расчет схемы из трех элементов (задача 1 из методических указаний к разделу Строки, на которых должны выполняться операции, пронумерованы для удобства пояснений, в реальной программе номера строк отсутствуют. Текст программы с4_007.сс
ОПИСАНИЕ ПРОГРАММЫ COMCAL
Кроме вычисления последовательности отдельных выражений программа позволяет решить систему уравнений порядка n по заданной матрице комплексных коэффициентов. Свободный член уравнения задается в той же матрице последним столбцом. Порядок матрицы и соответственно системы уравнений определяется переменной size, которая может быть задана выражением или константой. Далее решается система вида: A(l,l)*x(l)+A(l,2)*x(2)+...+A(l,n)*x(n)=A(l,n+l); A(n,l)*x(l)+A(n,2)*x(2)+...+A(n,n)*x(n)=A(n,n+l). Коэффициент А(1,1) задается операцией присвоения с помощью некоторого выражения в следующем формате: @1 1=1+1*5, что соответствует записи A(l,l)=l+i* Пример записи системы уравнений второго порядка, имеющей вид: x(l)+(l+i*5)*x(2)=i*7; 5*x(l)+i*8*x(2)=7, приведен ниже: size 2 @11=1 @1 2=1+1*5 @1 3=i*7 @21=5 @2 2=i*8 @23=7 compute
Сразу после запуска программы сс.ехе можно начать редактировать текст. Первые две строки начинаются с ! и представляют собой комментарий. Затем следуют строки, задающие исходные данные с помощью операций присвоения. Это уже исполняемые строки, и после того, как нажата клавиша Enter, выполняются следующие операции: производится вычисление значения переменной из выражения, записанного в текущей строке, на нижние табло выводится результат вычислений и курсор переводится на следующую строку. Когда курсор находится на какой-либо строке, возможно как ее редактирование, так и вычисление значения переменной при нажатии на клавишу Enter. Отметим, что в строке 14 для вычисления комплексного выражения для полной мощности применяется запись сопряженного значения потребляемого тока, для чего перед обозначением тока поставлен знак &. После того, как программа вычислений написана, можно получить все результаты, проходя строки программы, начиная с первой, с помощью нажатия клавиши Enter. При проходе пустых строк и строк комментария на табло будут появляться нулевые значения (программа эти невычисляемые строки игнорирует). В результате выполнения операций на пронумерованных вычисляемых строках нашего примера в нижних табло экрана будут появляться следующие значения компонентов комплексных переменных:
Основное меню
Проходя строки этой программы с помощью нажатия на клавишу Enter, мы будем в нижней строке получать значения коэффициентов, а после завершения операции compute получим и значения х(1), х(2), записанные в последовательности строк, начиная с верхней строки экрана. Однажды написанная программа может быть сохранена на диске и снова вызвана для проведения вычислений с помощью соответствующих команд верхней командной строки. При вызове программы необходимо ввести полный путь к файлу с расширением *.сс, в котором эта программа записана, и, получив сообщение "загрузка прошла успешно", нажать последовательно клавиши Esc и Ctrl-PgUp. Основное меню представляет собой краткое описание программы, соответствующее традиционному разделу помощи (Help). Оно имеет подсвеченные ключевые слова, позволяющие переходить при желании к более подробным описаниям отдельных моментов текста.
Функции
Функции Операции Константы Команды Синтаксис Режимы "Горячие клавиши" О программе Далее приведена информация об отдельных пунктах меню, представленная в Help, которая содержит следующие разделы
Операции
Программой вычисляются следующие комплексные функции комплексных переменных: Тригонометрические: sin - вычисляется по формуле: sin z = (exp(jz)-exp(-jz+)/2j, cos - вычисляется по формуле: cos z = (exp(jz)+exp(-jz))/2, tg - вычисляется по формуле: tgz = sin z/ cos z, дает ошибку, если cos z = О, etg - вычисляется по формуле: tgz = cos z/ sin z, дает ошибку, если sin z = О, Обратные тригонометрические: arcsin - вычисляется по формуле: arcsin z = ln(jz+sqrt(l-z*z))/j, arccos - вычисляется по формуле: arccos z = ln(z+sqrt(z*z-l))/j, arctg — вычисляется по формуле: arctg z = ln(sqrt((l+jz)/(l-jz))/j, дает ошибку, если z = j или z = -j, arcctg - вычисляется по формуле: arctg z = ln(sqrt((j+z)/(j-z))/j, дает ошибку, если z = j или z = -j, Гиперболические: sh - вычисляется по формуле: sh z = (exp(z)-exp(-z))/2, ch - вычисляется по формуле: ch z = (exp(z)+exp(-z))/2, th — вычисляется по формуле: th z= sh z/ ch z, дает ошибку, если cos z = О, cth - вычисляется по формуле: th z = sh z/ ch z, дает ошибку, если sin z = О, Обратные гиперболические: arsh - вычисляется по формуле: arsh z = ln(z+sqrt(z*z+l)), arch - вычисляется по формуле: arch z = ln(z+sqrt(z*z-l)), arth - вычисляется по формуле: arth z = ln(sqrt((l+z)/(l-z))), дает ошибку, если z = 1 или z = -1, arcth - вычисляется по формуле: arcth z = ln(sqrt((z+l)/(z-l))), дает ошибку, если z = 1 или z = - Степенные и логарифмические: ехр - вычисляется по формуле: exp z = exp(x)-*cos(y)+j*sin(y)) при z=x+j*y, In — вычисляется по формуле: In z = ln(r)+j*f при z=r*exp(jf), дает ошибку, если z = О, lg - вычисляется по формуле: lg z = ln(z)/ln(10), дает ошибку, если z = О, sqrt - вычисляется по формуле: sqrt z = sqrt(r)**(cos(i/2)+j*sin(f/2)) при z=r*exp(jf),
Константы
Программой предусматриваются следующие бинарные (над двумя переменными) и унарные (над одной переменной) операции: Бинарные операции - нуждаются в двух аргументах справа и слева от знака операции. Все бинарные операции выполняются слева направо с учетом скобок. Эти операции имеют самый низкий приоритет, причем сначала выполняются следующие операции: * - умножение комплексных величин; / - деление комплексных величин; # - вычисление сопротивления для параллельного соединения двух комплексных сопротивлений; " — операция возведения комплексного числа в комплексную степень; $- запись комплексного числа в экспоненциальной форме; После этого выполняются такие операции, как: + — сложение комплексных чисел; — — вычитание комплексных чисел; , — запись комплексного числа в алгебраической форме. Унарные операции - нуждаются в одном агрументе слева от знака операции. Все бинарные операции выполняются справа налево с учетом скобок. Эти операции имеют наивысший приоритет. К унарным операциям относятся следующие: - я— унарный минус, изменяет знак перед действительной и комплексной частями при записи в алгебраической форме, или знак модуля при записи в экспоненциальной форме; + - унарный плюс, изменяет знак перед действительной и комплексной частями при записи в алгебраической форме, или знак модуля при записи в экспоненциальной форме; &- выполняет операцию замены аргумента на комплексно-сопряженный. Взятие функции одного аргумента также считается унарной операцией.
Команды
Стандартные константы: i или j - мнимая единица, в алгебраической форме записывается в виде (0,1); р-число р, равное 3.14159265358979 Радианные константы: Это действительные числа, выражающие углы в радианной мере. Градусные константы: Задают углы в градусной мере в формате: 'Градусы' Минуты' Секунды. Например, запись '90'12'50 соответствует 90 градусов 12 минут 50 секунд, запись '87 - 87 градусов.
Синтаксис
Функциональные клавиши реализуют следующие команды: F1 - войти в справочную систему, F2 - сохранить программу в текстовом файле *.сс F3 - вставить строки из текстового файла перед текущей строкой, F4 - получить листинг, F5 - очистить экран, F8 - вызвать командный процессор MS-DOS, F9 - вернуться в Norton Commander, F10 - выйти из программы используются стандартные текстовые файлы с длиной строки не более 78 символов
Режимы
Строки: Пустая строка - игнорируется программой, при прохождении этой строки ничего не происходит, в нижних табло высвечивается комплексное число равное нулю; Комментарий - строка, начинающаяся с !; Выражение - совокупность постоянных и переменных, связанных знаками операций и скобками. Операторы: size - выделяет необходимый объем памяти для системы уравнений, порядок которой определяется выражением, все коэффициенты в системе обнуляются; compute — оператор решения системы уравнений. Оператор решает систему. = - оператор присвоения, вычисляет значение переменной или коэффициента системы уравнений. Лексемы: Скобки - (), {}, [], о Остальные лексемы рассмотрены выше. К ним относятся функции, константы, операции и переменные. Лексемы могут отделяться друг от друга произвольным числом пробелов (от 0 и более), исключение составляют функции, между которыми должен быть по крайней мере один пробел.
"Горячие" клавиши
Цвет: При вызове этого раздела меню можно установить три различных цветовых режима экрана: IBM цветной; IBM черно-белый; Mazovia Обозначение мнимой единицы: Этот раздел меню позволяет выбирать для обозначения мнимой единицы символ j или i. Иногда (всегда) с порядком (Е): Этот раздел меню позволяет либо выбрать принудительный вывод величин в формате с фиксированной точкой (если выбирается режим всегда) либо оставить определение формата вывода за программой (если выбирается режим иногда). Способ выражения радианных величин выбирается из трех следущих: Режимы для установки величин: Этот пункт меню позволяет установить один из следующих способов представления угловых величин - в радианах, в радианах*p или в градусах.
Похожие определения: Упражнения Эксперименты Транзисторные ключи Генератор с кварцевым резонатором Однополупериодные и двухполупериодные выпрямители Диодные формирователи Счетчики
|