Программируемый микрокалькулятор ПМК «Уникум» (в дальнейшем — ПМК) предназначен для выполнения инженерных расчётов и построения графиков в разных областях математики, физики и машиностроения в операционных системах Windows (х32 или х64).
Программа ПМК выпускается в двух версиях: 32-бита и 64-бита.
Команды данной программы являются расширением команд указанных калькуляторов. Для совместимости введены такие команды как L0..L3, П0..П9, ПА..ПЕ, ИП0..ИП9, ИПА..ИПЕ, К_П0..К_П9, К_ПА..К_ПЕ и К_ИП0..К_ИП9, К_ИПА..К_ИПЕ, К_БП0..КБП9, К_БПА..К_БПЕ, К_ПП0..К_ПП9, К_ППА..К_ППЕ, К_X<0_0..К_X<0_Е, К_X=0_0..К_X=0_Е, К_X>=0_0..К_X>=0_Е, К_X<>0_0..К_X<>0_Е, К_L0_1.. К_L0_9, К_L0_А.. К_L0_Е, К_L1_1.. К_L1_9, К_L1_А.. К_L1_Е, К_L2_1.. К_L2_9, К_L2_А.. К_L2_Е и К_L3_1.. К_L3_9, К_L3_А.. К_L3_Е, т. е. можно использовать программы, разработанные для указанных калькуляторов, без их переделки.
В ПМК применяется бесскобочный метод вычислений Лукашевича. Все введённые последовательно числа, разделённые командой «Ввод» записываются в стек, откуда они используются для вычислений. Клавиша «=» отсутствует: результат двухместных операций после выполнения команды сразу появляется на экране.
При выполнении арифметических операций и вычислении функций используются как действительные, так и комплексные числа. Комплексные числа вводятся в виде:
Рис. 1.2.4.1
При вставке символа «i» перед ним автоматически появляется знак «+». Для смены знака на минус используйте кнопку «/—/», клавиши «_» или «A» (лат.).
Числа могут введены и выведены на дисплей в формате DMS.
Ввод производится как показано на Рис. 1.2.5.1:
Рис. 1.2.5.1
После ввода градусов следует нажать на клавишу «’» — на дисплее появится знак «°», затем вводят минуты (если минуты состоят из одной цифры, т. е. пропускается ноль, то следует ввести знак «’» самому; после ввода второй цифры знак «’» появится автоматически) затем вводят секунды (при необходимости в десятичном виде).
Допустим также частичный ввод: только градусы без минут; градусы и минуты без секунд.
Разрешается вводить градусы в формате десятичной дроби (без минут и секунд):
Рис. 1.2.5.2
После нажатия кнопки «В» и клавиши «Enter», получится следующее:
Рис. 1.2.5.3
То же самое для комплексных чисел:
Рис. 1.2.5.4
После нажатия кнопки «В» и клавиши «Enter», получится следующее:
Рис. 1.2.5.5
При вводе минут или секунд больше 60, после нажатия на «Ввод» (клавиша «Enter») или при вычислениях функций, число автоматически пересчитывается. Для секунд число может содержать больше 2-х цифр (тогда пересчитываются не только минуты, но и градусы). Поэтому надо следить за вводом запятой после 2-х цифр, если число секунд дробное.
Если число на дисплее нормализовано (после нажатия на «Ввод» или получено в результате какой-либо операции, то при вводе апострофа «’» появляется число «0°» и далее можно водить минуты.
Рис. 1.2.5.2
После нажатия на «Ввод»:
Рис. 1.2.5.3
Поскольку экспонентная форма числа в таком формате не принята, то максимальное значение в режиме высокой точности ±2147483648 градусов, а режиме повышенной точности — зависит от установленного кол-ва значащих цифр.
Если нажата кнопка «DMS», то при вычислении функций, выдающих углы («град», «round», «arcsin» и т. д., а также двухместных операций: сложение, вычитание, умножение и деление, а также ввод чисел через буфер), значения представляются в формате DMS. Введём аргумент для «arcsin»:
Рис. 1.2.5.4
После вычисления арксинуса получим:
Рис. 1.2.5.5
После округления с помощью функции «round» (вкладка № 1):
Рис. 1.2.5.6
При нажатии ПКМ над кнопкой «DMS» или клавиши «Alt+D» происходит перевод из формата «DMS» в обычный и обратно.
При положении переключателя «Р» (радианы) функция «DMS» не работает.
Арифметические двухместные операции с числами в формате DMS иллюстрированы на следующих рисунках:
Рис. 1.2.5.7
Ввели первое число.
Рис. 1.2.5.8
Ввели второе число.
После выполнения операции сложения получим:
Рис. 1.2.5.9
Если значения операндов записаны в регистры, то можно их вводить, нажав ЛКМ на нужный регистр в «Карте регистров [F5]». При нажатой кнопке «DMS» значения появляются на дисплее в формате «DMS».
При выводе из регистра предыдущего результата (кнопки «F» + «В» или клавиши «F» + «Enter») при нажатой кнопке «DMS» и переключателе в положении «Г», результат выводится в формате «DMS», в противоположном случае — в формате с плавающей запятой.
В случае двухместных операций (сложение, вычитание, умножение и деление) при извлечении предыдущего результата выводится число, введённое вторым и представление числа (число с плавающей запятой или DMS) зависит от формата последнего операнда.
Числа можно вводить как показано на следующих рисунках:
Рис. 1.2.6.1
Перед вводом второго числа нажать на кнопку «В» или клавишу «Enter».
Рис. 1.2.6.2
Ввели вторую дробь. Затем выполняем действие (в данном случае — умножение). Получим результат:
Рис. 1.2.6.3
Числа в виде дроби можно вводить и в комплексных числах:
Рис. 1.2.6.4
Дробь может быть как простой, так и десятичной, а также в формате с плавающей запятой:
Рис. 1.2.6.5
После вычисления какой-либо функции, например «sin»:
Рис. 1.2.6.6
можно вернуть предыдущий результат на экране, нажав на кнопки «F» + «В»:
Рис. 1.2.6.7
При вводе простой дроби производится (если возможно) её сокращение.
После ввода с клавиатуры или из буфера Windows, имеем:
Рис. 1.2.6.8
При нажатии на «Ввод» (кнопка «В» или «Enter») производится автоматическое сокращение дроби:
Рис. 1.2.6.9
Если нажата кнопка «1\3», то при вводе десятичного числа оно автоматически преобразуется в простую дробь. Введём десятичное число:
Рис. 1.2.6.10
Нажимаем на кнопку «В» или клавишу «Enter»:
Рис. 1.2.6.11
ПМК имеет четыре режима работы:
1. 7 разрядов (7 значащих цифр) — используются операции с плавающей запятой «single precision» сопроцессора; диапазон чисел ограничен;
2. 15 разрядов (15 значащих цифр) — используются операции с плавающей запятой «double precision» сопроцессора; диапазон чисел ограничен;
3. 18—19 разрядов (18—19 значащих цифр) — используются операции с плавающей запятой «extended precision» сопроцессора; диапазон чисел ограничен (точность: 18 — для х32 версии; для х64 версии — 15; это связано с особенностями использования сопроцессора в Windows х64 для х64-битных приложений); для х32 версии программы ПМК в Windows х64 режим «extended precision» сопроцессора эмулируется;
4. от 20 до 9 999 разрядов (от 20 до 9 999 значащих цифр) — для операций с плавающей запятой используется библиотека программы; диапазон чисел не ограничен.
Во всех режимах работы погрешность вычислений операций с повышенной точностью в рабочем диапазоне аргумента не превышает ± 2 единицы в последней значащей цифре.
Возможна одновременная работа несколько программ ПМК «Уникум». При этом они могут использовать те же программные файлы и файлы данных.
Трудно что-либо добавить!
В главной программе указывается какие программы и с какими данными выполнять, а также сохраняются результаты расчётов. Подробности см. п. 2.1.11.
В этом режиме ПМК автоматически создаёт будущую программу (т. е. создаёт программу, по которой будет работать). Поясним на примере:
Рис. 1.2.7.4.1
Команды F_ОТКР и F_ЗАКР — команды открытия и закрытия файла, куда в процессе работы родительской программы будут заноситься строки будущей программы. Программа может иметь любые команды, в т. ч. команду «F_КЛЮЧ» и условные операторы.
Команда «$» задаёт имя файла будущей программы.
Команды после символа «@» — команды новой программы.
В строках «01» и «02» — команда открытия файла с именем «Тест.prg».
Начиная со строки «04» и по строку «30» — тело будущей программы.
В строках «31» и «32» — закрытие файла.
В строках «33» и «34» — вызов программы «Тест.prg» на выполнение.
В дальнейшем программу «Тест.prg» можно вызывать непосредственно, как любую другую программу.
Команды с символом «@» могут также иметь команды открытия, другие операторы и закрытия других создаваемых программ.
Вводить строки с символом «@» удобно в два этапа:
1. на первом этапе вводятся строки без этого символа в режиме программирования («F»+«E») или в редакторе программ с помощью падающего меню; для устаревших команд целесообразно в режиме программирования вводить команды сразу с символом «@»:
Рис. 1.2.7.4.2
2. в «Редакторе программ» добавляется символ «@» в нужных строках.
Можно также вводить такую программу в один этап с помощью Microsoft Word (см. п. 11.5).
Примечание: абсолютный адрес в командах после символа «@» надо указывать с учётом смещения из-за первых строк родительской программы, т. е. новая программа будет начинаться со строки с первым появлением символа «@». Также не происходит автоматического смещения этого адреса (если даже опция включена) при добавлении строк в родительской программе. Эту проблему можно устранить введением меток вместо абсолютных адресов.
Ниже показан вариант предыдущей программы с метками.
Рис. 1.2.7.4.3
В строке 29 первый символ метки это буква «М» (в кириллице), а конце надо дописать символы «=>» (если записать блок создаваемой программы сначала без символов «@», а потом добавить в каждой строке символ «@», как рекомендовано выше, то символы «=>» вставятся автоматически после вставки метки в команду.
В результате работы создающей программы получается следующая программа:
Рис. 1.2.7.4.4
Она автоматически запускается и выводит график (переключатель в положении «Радианы».
Рис. 1.2.7.4.5
Для временного хранения результатов вычислений в программе предусмотрено использование нескольких групп разрядов регистров памяти:
1. От регистра «0» до регистра «9» (всего 10 регистров памяти);
2. От регистра «00» до регистра «99» (всего 100 регистров памяти);
3. От регистра «000» до регистра «999» (всего 1 000 регистров памяти);
4. От регистра «0000» до регистра «9999» (всего 10 000 регистров памяти);
5. От регистра «00000» до регистра «99999» (всего 100 000 регистров памяти);
6. От регистра «000000» до регистра «999999» (всего 1 000 000 регистров памяти);
7. От регистра «0000000» до регистра «9999999» (всего 10 000 000 регистров памяти);
В 64‑битной версии добавлены ещё 2 разряда:
8. От регистра «00000000» до регистра «99999999» (всего 100 000 000 регистров памяти);
9. От регистра «000000000» до регистра «999999999» (всего 1 000 000 000 регистров памяти);
Максимальное количество строк программы зависит от её разрядности. Для 32-битной программы — 5 разрядов (99 999 цифр), т. е. 100 000 шагов; для 64‑битной — 7 разрядов (9 999 999 цифр), т. е. 10 000 000 шагов. Эти цифры относятся только к одной программе, т. к. при использовании пакетного режима (см. п. 2.1.11) суммарное кол-во шагов не ограничено.
1. + — сложение двух чисел;
2. — — вычитание двух чисел;
3. * — умножение двух чисел;
4. / — деление двух чисел;
5. 1/х — обратная величина числа;
3
6. Ö корень квадратный из числа;
7. Ö корень кубический из числа;
1. sin(x) — синус угла.
2. cos(x) — косинус угла.
3. tg(x) — тангенс угла.
4. arcsin(x) — арксинус числа.
5. arccos(x) — арккосинус числа.
6. arctg(x) — арктангенс числа.
1. ex — экспонента числа с базой «e»;
2. 10x — экспонента числа с базой «10»;
3. lg(x) — десятичный логарифм;
4.
ln(x) — натуральный логарифм;
5.
x2
— квадрат числа;
6.
x3 — куб числа;
7. XY — степень Y числа X;
..................................
1. Bn — вычисление чисел Бернулли;
2. Bnдр — представление чисел Бернулли в виде дроби;
3. En — вычисление чисел Эйлера;
4 период — определение периода в десятичной периодической дроби;
5 Дробь — перевод десятичной периодической дроби в обыкновенную;
6 Число — перевод обыкновенной дроби в десятичную.
Полный список смотри в приложении (п. 20.2)
1. «ДИФ» — решение систем дифференциальных уравнений методом Рунге-Кутта—Флетчера (метод 4,5 точек).
2. «ОПТ» — многомерная оптимизация по методу Нелдера—Мида.
3. «ГАУ» — решение систем линейных и нелинейных уравнений методом Нелдера—Мида. Каждое уравнение рассматривается как целевая функция для нахождения оптимальных значений при заданном отклонении целевой функции от нуля.
4. «СИМ» — вычисление интегральной функции методом Симпсона.
5. «МЮЛ» — нахождение корней произвольных функций, в том числе и комплексных методом Мюллера.
6. «РЯД» — вычисление суммы ряда (например вычисление числа p с большим количеством знаков).
Рис. 2.1
При нажатии на ПКМ над именем вкладки (в показанной вкладке это «0. Тригонометрические функции») появляется падающее меню со всеми вкладками:
Рис. 2.2
Рис. 2.1.1.1
Рис. 2.1.2.1
Для лучшего запоминания математические функции «area…» записываются как «arc..»: «arcsinh», «arccosh» и «arctgh»
Рис. 2.1.3.1
Рис. 2.1.4.1
Для лучшего запоминания математические функции «area..» записываются как «arc..»: «arcsech», «arccsech» и «arcctgh»
Рис. 2.1.5.1
Рис. 2.1.6.1
Рис. 2.1.7.1
Рис. 2.1.8.1
Рис. 2.1.9.1
Подробное описание см. п. 14.
При входе на вкладку на экране появится:
Рис. 2.1.10.1
При нажатии на клавиши «Ctrl+F6» вызывается «Редактор комплексных чисел»:
Рис. 2.1.10.2
После ввода или редактирования числа и нажатия клавиши закрыть появится окно для задания местоположения этого числа (в 2-х регистрах или в стеке):
Рис. 2.1.10.3
При нажатии на клавишу «Карта регистров» появляется окно, описанное в п. 3.2.11.
Комплексное число можно ввести и напрямую на дисплее. Для этого используется клавиша «i» или символ «i» из палитры. Введите модуль действительной части числа:
Рис. 2.1.10.4
При необходимости смены знака нажмите клавишу «_» или «A»:
Рис. 2.1.10.5
Затем нажмите клавишу «i»:
Рис. 2.1.10.6
Введите модуль мнимой части комплексного числа:
Рис. 2.1.10.7
Для изменения знака мнимой части снова нажмите «_» или «A(лат.)»:
Рис. 2.1.10.8
Для сохранения введённого числа в память нажмите «П»; для сохранения только в стеке — «В» или «Enter».
Комплексное число занимает в памяти 2 регистра.
Рис. 2.1.11.1
Эта вкладка предназначена для автоматизации процесса вычислений.
— ЧИТ — читать файлы с указанными над кнопками данными;
— ЗАП — записывать файлы;
— УДАЛ — удалять файлы;
Виды данных:
— ПРГ — программы;
— ДАН — данные;
— СТЕК — стек;
— МАТР — матрицы;
— ГРФ — графики;
— РЕЗ — результаты расчётов по программе и расчёты процедур (см. п. 16.1).
Команда «RET» — возврат в вызывающую программу.
Данные команды можно ввести на этой вкладке, последовательно нажимая нужные клавиши, или в редакторе программ из падающего меню. Имена файлов для этих команд вводятся после знака «$».
Принцип работы следующий:
В главной программе вводится команда (например: «F_ЧИТ_ПРГ») и указывается в следующей строке имя файла (например:«$Программа_1.prg»).
После выполнения программы с именем «Программа_1.prg», управление возвращается вызывающей программе. Для этого в конце вызываемой программы записывается команда возврата «F_RET». Если этой команды нет, то возврата не происходит.
Если вызываемая программа имеет данные, то команда вызова этих данных записывается перед командой вызова программы, а не после.
Если требуется подготовка данных для расчёта, то рекомендуется такой порядок создания потока программ:
1. В главной программе вызывается программа подготовки данных «F_ЧИТ_ПРГ» с указанием имени программы;
2. С помощью команды «F_ЗАП_ДАН» подготовленные в регистрах данные записываются в файл;
3. В главной программе с помощью команды «F_ЧИТ_ПРГ» вызывается следующая программа, которая использует эти данные («F_ЧИТ_ДАН») или вычисления с этими данными происходят в главной программе;
4. Результаты работы главной программы (например, графики) записываются в файл командой «F_ЗАП_ГРФ».
Количество вызовов программ и их вложенность не регламентируется.
Пример такой пакетной программы:
Рис. 2.1.11.2
Обратите внимание, что вызов данных предшествует вызову программы.
Вызываемые программы сами могут являться пакетами, где вызываются и программы и данные:
Рис. 2.1.11.3
Здесь в каждой из ветвей переключателя указаны пакеты. К примеру в ветви 1 есть вызов файла данных, а затем файла программы (данные должны вызываться раньше программы):
Рис. 2.1.11.4
Как показано в п. 10, полученные результаты могут автоматически записываться сразу после выполнения расчёта с помощью команды «F_ЗАП_РЕЗ». Глубина вложения пакетов не ограничена.
Ещё один пример, где показано использование папок при обращении к файлам:
Рис. 2.1.11.5
Для упрощения ввода в программу имён файлов используйте данную вкладку. Перейдите в программный режим. При выборе команды чтения или записи появляется браузер. Тип файла определяется самой командой (программа, данные и пр.). Выбранный в браузере файл записывается в строку программы за командой чтения или записи.
Вернитесь из программного в автоматический режим и сохраните программу.
Рис. 2.1.12.1
Доступные функции:
¾ Список (клавиши «F» и «И») — появляется окно для поиска номера материала в базе данных:
Рис. 2.1.12.2
В графе «Материал» в скобках за обозначением — номер материала.
¾ Плотность;
¾ Модуль упругости;
¾ Коэффициент Пуассона;
¾ Предел текучести;
¾ Предел прочности;
¾ Теплопроводность;
¾ Коэффициент линейного расширения;
¾ Удельная теплоёмкость.
После ввода номера материала при нажатии на клавиши «F» и цифру (1, 2, 4—9) на дисплее появляется величина параметра в системах СИ или МКГС (в зависимости от положения переключателя «Радиан [система СИ]» или «Градус [система МКГС]».
К этим функциям можно обращаться в программе также, как и к другим функциям. Сначала задаётся номер материала, а затем функция, например «F_Sпрочн». Это может понадобиться в прочностных расчётах.
Вкладки можно переключить с помощью клавиш «Ctrl+цифра» (цифры — от 0 до 9) и «Alt+цифра» (цифры — от 0, 1).
Рис. 3.1.1
Рис. 3.1.1.1
Рис. 3.1.2.1
Текст программы или данные записываются в текстовый файл, в котором их можно отредактировать с помощью любого текстового процессора (например, блокнота), а затем загрузить:
Рис. 3.1.2.2
Рис. 3.2.1
Удаляется введённая ранее программа и можно вводить новую.
Появляется диалоговое окно:
Рис. 3.2.2.1
Можно сохранить содержимое регистров в текстовом файле. После этого регистры и стек очистятся.
При работе с программой в шаговом режиме происходит переход на введённый адрес.
Позволяет начать выполнение программы с начала.
Выполняется следующая команда в программе.
Запускается программа с нулевого (после команды «Обнуление адреса F7») или с адреса, установленного командой «Переход F6».
Прерывается выполнение программы с возможностью возобновления.
Выполняет программу до строки, в которой установлен курсор. Можно комбинировать с пошаговым выполнением программы. Для завершения программы надо нажать на кнопку «С/П» или клавишу «F9». В программах, где есть вызов процедур, эта функция не работает в области тела процедуры, начало которой указано в структуре процедуры и заканчивается командой «В/0».
Вызывается окно для редактирования и отслеживания выполнения программы.
Рис. 3.2.8.1
Для подробного ознакомления см. п. 11
Вызывается окно для отслеживания состояния регистров и стека.
Рис. 3.2.9.1
В этом окне значения в регистрах памяти можно редактировать; в программе и стеке — нельзя. Статус показывает какие регистры содержат информацию (цвет — см. п. 3.2.11.). информация также появляется при нажатии ЛКМ на прямоугольник. Цифра в колонке статус показывает к какому региону относится данный регистр (см. п. 3.3.1.3).
Для редактирования нужного регистра надо нажать ЛКМ. Для фиксирования изменений — нажать на клавишу «Enter». В колонке «Статус» появится красный цвет — изменено пользователем. При нажатии на ПКМ в колонке «Статус» в зависимости от типа данных (вещественное число, комплексное число, одномерная, двухмерная или трёхмерная матрица) — очищается один регистр, два регистра и вся матрица.
Это окно в реальном времени отражает состояние регистров, программы и стека.
При работе с числами 20 и более значащих цифр при нажатии на ПКМ в окне «Регистр» появляется окно:
Рис. 3.2.9.2
В нём можно отредактировать или сохранить число в текстовый файл, а затем вызвать.
Вызывается окно «Результаты решения»:
Рис. 3.2.11.1
Цифры в ячейках показывают номера регионов регистров. Их всего 3:
¾ 1-ый регион: в нём при обращении к данному регистру команды косвенной адресации его содержание уменьшается на 1;
¾ 2-ой регион: в нём при обращении к данному регистру команды косвенной адресации его содержание увеличивается на 1;
¾ 3-ий регион: в нём при обращении к данному регистру команды косвенной адресации его содержание не меняется.
При косвенном обращении к регистрам для комплексных чисел (команды К_П, К_ПК и К_ИПК) номер регистра изменяется на 2 вместо 1 (для регионов 1 и 2).
Задаются регионы в окне «Параметры».
После наведении указателя мыши на требуемый регистр появляется подсказка со значением числа. При нажатии на ЛКМ значение, хранящееся в данном регистре вводится в регистр «X» стека и готово для дальнейших операций. При нажатии ПКМ над первым регистром в зависимости от типа данных (вещественное число, комплексное число, одномерная, двухмерная или трёхмерная матрица) — очищается один регистр, два регистра и вся матрица.
Это окно также отражает состояние регистров в реальном времени.
Рис. 3.3.1
Рис. 3.3.1.1
Разрядность адреса определяет количество значащих цифр в программе. Если 2, то максимальный адрес в программе — 99, 3 — 999 и т. д. Максимальное размер программы для 32 битной версии — 99 999 команд (разрядность = 5), а для 64 битной — 9 999 999 (разрядность = 7). Изменить разрядность программы можно не входя в окно «Параметры» — щелкнуть ЛКМ на цифры справа от слова «Программа». При каждом нажатии на ЛКМ разрядность увеличивается на 1. При нажатии на ПКМ — разрядность уменьшается на 1.
В режиме программирования (над кнопкой «E» надпись «ПРГ» — серая) при нажатии на ЛКМ адрес программы увеличивается на 1, при нажатии на ПКМ — уменьшается на 1.
Аналогично предыдущему пункту, только с регистрами. Минимальное значение — 1 (номера регистров от 0 до 9), максимальное значение для 32 битной версии — 7 (номера регистров от 0 до 9 999 999), а для 64 битной — 999 999 999 (разрядность = 9). Для манипуляции без входа в окно «Параметры» — цифра справа от слова «Данные».
Уменьш. миним. и уменьш. макс. — диапазон регистров (здесь и далее — регион), в которых в процессе работы загружаемой из файла или вводимой вручную программы, целое значение (адрес команды) уменьшается на единицу, обеспечивая косвенную адресацию. Регионов — 3: 1, 2 и 3. Для изменения границ регионов в процессе выполнения программы служат операторы: J1min, J1max, J2min, J2max (для прямого указания) и К_J1min, К_J1max, К_J2min, К_J2max (для косвенного указания). Сам номер регистра для данных косвенных операторов никогда не модифицируется.
См. предыдущий пункт.
При вводе серии чисел для вычисления сложного выражения, они записываются в стеке по принципу магазина в оружии: первый вошёл — последний вышел. При достижении количества, задаваемого в этом окне, первое заданное число в стеке (самое нижнее) удаляется. Самое верхнее число в стеке принято называть «X», следующее за ним — «Y». Число «X» всегда показывается на дисплее. Клавиша «XY» меняет их местами. Команда «F» и «.» заставляет данные стека циркулировать по кругу.
Задаётся количество значащих цифр (без учёта знака и разделителя целой и дробной частей) при вычислениях как в ручном, так и в программном режимах.
Примечание:
При изменении кол-ва значащих цифр 7 и 15 вместо 18 нужно иметь ввиду, что все 6 процедур (см. п. 17.1) имеют такие параметры, как абсолютная и относительная погрешности, машинная точность (процедура К_МЮЛ) и они должны быть разными при кол-ве значащих цифр 7, 15 или 18. Следовательно при работе с пониженной точностью нужно создавать свой файл данных и в названии отметить отличие (например, добавлять «—7» или «—15»). Также отличие надо вводить в пакеты (программные файлы, которые вызывают другие программы и файлы данных).
Включение режима с кол-вом значащих цифр ≥ 20.
Компенсируются машинные неточности в вычислении.
При вычислениях некоторых функций при работе с большим количеством значащих цифр (больше 200) реакция программы замедляется. В этом случае бывает необходимо следить за прогрессом выполнения команды. При установке этой опции появляется движок, время операции и ориентировочно остаток времени. Для прерывания затянувшихся операций нажмите клавишу «Esc».
При включённой опции в буфер записываются вводимые числа, название операции и результат. Этот буфер можно записать в текстовый файл.
Рис. 3.3.1.8.1
Если опция включена, то в случае аргумента функции вне диапазона сообщение об ошибке не появляется, а вычисляется значение функции в комплексной области.
Применение этой опции рассмотрим на следующем примере:
Рис. 3.3.1.9.1
Если число на дисплее (в регистре «X» стека) входит в диапазон аргумента для арксинуса, то надпись «arcsin» над кнопкой после нажатия на префиксную кнопку «F» (клавиша «F») имеет цвет вкладки (красный) и подсказка имеет вид как на Рис. 3.3.1.9.1.
Рис. 3.3.1.9.2
Если число на дисплее не входит в диапазон аргумента для арксинуса, то надпись «arcsin» над кнопкой после нажатия на префиксную кнопку «F» (клавиша «F») становится серой (функция недоступна).
Рис. 3.3.1.9.3
При включённой опции «Разрешить вычислять в комплексной области» (то же, что нажать на кнопку «К» на панели инструментов) имеем то, что изображено на Рис. 3.3.1.9.3., т. е. функция арксинус доступна и меняется вид подсказки. Теперь, при нажатии на кнопку «4» имеем результат:
Рис. 3.3.1.9.4
См. п. 1.2.5.
При включении этой опции данные, выводимые на дисплей ПМК и в окно «Результаты расчёта» будут по возможности представляться в виде простой дроби. Для этого они должны представлять собой десятичные периодические бесконечные или конечные дроби. В противном случае данные выводятся в обычном виде. На панели инструментов этой опции соответствует кнопка «1\3».
При включённых опциях «Представление числа в формате простой дроби» и «Перевод в простую дробь» производится автоматический перевод непериодической бесконечной дроби в простую дробь. Дробь может быть непериодической в двух случаях: в первом случае если число рациональное, но не хватает количества цифр для выявления периода, а во втором случае число является иррациональным и поэтому не может иметь период (примеры — числа «p», «e» и др.). В обоих случаях при этой помеченной опции будет осуществляться автоматический перевод в простую дробь (разумеется, с установленной точностью).
Даже если опции «Представление числа в формате простой дроби» и «Автоматический перевод непериодических дробей» отключены, то при нажатии ПКМ над кнопкой «1\3» или при нажатии клавиш «Alt+L» перевод и возврат всё же происходит.
Рис. 3.4.1.1
Рис. 4.1
Показывает разрядность адресации (при «00» — последний адрес программы может быть 99; при «00000» — 99999), а также на каком адресе программа остановлена.
При нажатии ЛКМ на адрес разрядность увеличивается на «1»; при нажатии на ПКМ разрядность уменьшается на «1». При нажатии ЛКМ слово «Программа» появляется браузер для выбора файла с программой; при нажатии ПКМ — появляется браузер для записи.
Показывает разрядность данных: при «1» — 10 регистров памяти (от 0 до 9); при «2» — 100 регистров памяти (от 00 до 99) и т. д.
При нажатии ЛКМ на цифру разрядности она увеличивается на «1», при нажатии ПКМ — уменьшается на «1». При нажатии ЛКМ на слово «Данные» появляется браузер для выбора файла с данными; при нажатии ПКМ — появляется браузер для записи.
Показывает количество чисел в стеке.
В браузере из выбранного файла загружаются программа или данные.
Записываются в файл программа или данные.
Вызывается окно «Редактор данных» (см. п. 3.2.9.). повторное нажатие закрывает окно.
Вызывается окна «Результаты решения» (см. п. 3.2.9.). повторное нажатие закрывает окно.
Вызывается окно «Карта регистров» (см. п. 3.2.11.). повторное нажатие закрывает окно.
Если текущая точность (количество значащих цифр) 7, 15 или 18 (для х32-версии), то при нажатии ЛКМ включается повышенная точность 20 цифр. При повторном нажатии точность возвращается на 18 (15 для х64-версии). Дальнейшее увеличение можно произвести в окне «Параметры» меню «Опции». Если была произведена запись числа в регистр, то изменение точности блокируется для того, чтобы числа были одинаковой точности.
Переключает аргумент некоторых функций, работающих с углами, в «радианы» или «градусы». При физических свойств положение «Р» соответствует системе «СИ», а положение «Г» — системе «МКГС».
Показывает или выключает окно с графиком.
Вызывает окно редактора программ.
При повышенном числе знаков (точности) выводит таблицу всех знаков с возможностью редактирования. Для комплексных чисел с повышенной точностью выводятся отдельно действительная и мнимая части.
Выводится протокол вычислений, если в параметрах он включён.
Выводит указанный диапазон регистров в текстовый файл для последующей работы в программе Excel.
Позволяет представлять числа в формате простой дроби. Если цифры дроби (конечной или бесконечной периодической) содержат необходимое кол-во периодов (что определяется кол-вом значащих цифр), то при нажатой кнопке «1\3» число выводится в виде простой дроби. При нажатии на ПКМ или на клавиши «Alt+L», происходит перевод числа из десятичной дроби в простую и обратно.
При необходимости переводит вычисление значений функций в комплексную область.
Примечание: при вычислении подряд функций обратимой и прямой (например, «arcsin» для значения «-2» и «sin» для полученного комплексного значения) на экране появится значение, которое было до выполнения обратимой функции, т. е. «-2», но при выполнении той же операции для того же значения для другой функции, например, «arccos» на экране появится сообщение «Аргумент вне диапазона», хотя режим «К» включён. Чтобы повторить операцию без появления сообщения нужно нормализовать полученное от предыдущей операции число «-2» (нажать на кнопку «В» или «Enter»).
Показывает и переключает раскладку клавиатуры.
После установки в программе курсора в нужной строке, при нажатии на эту кнопку или при нажатии на клавишу «F11» программа выполняется с текущего адреса до заданной строки и останавливается. Можно комбинировать между собой эту команду и пошаговое выполнение программы.
При положении переключателя в положении «Г» (Градусы система МКГС) служит для перевода чисел из формата с плавающей запятой в формат DMS (см. выше), а также для автоматического перевода результатов вычислений некоторых функций («град», «round», все арк-функции (арксинус и т. д., а также двухместных операций: сложение, вычитание, умножение и деление, ввод чисел через буфер, а также команды «XY» и «F_O») в формат DMS (для этого кнопка должна быть нажата).
Рис. 4.20.1
Здесь собраны все символы, необходимые для ввода данных в разных форматах:
1. Ввод разделителя комплексного числа [i];
2. Ввод градусов в формате DMS [‘];
3. Ввод минут в формате DMS;
4. Знак перед запросом в тексте программы (ввод числа);
5. Знак перед комментарием в программе;
6. Знак вывода в таблицу результатов в программе;
7. Знак дроби;
8. Знак записи строки в программе для вывода в файл создаваемой программы;
9. Знак изменения точности в программе;
10. Знак вывода значений «X» и серий «Y» в график в программе.
11. Ввод знака метки в программе [v];
При разрядности значащих цифр до 18 (включительно) информация на дисплее выглядит следующим образом:
Рис. 5.1
При разрядности больше 18 представление числа может быть другим:
Рис. 5.2
При нажатии указателем мыши на дисплей:
Рис. 5.3
Это последние цифры. Вращением колёсика мыши цифры скроллируются влево или вправо:
Рис. 5.4
Перемещать можно также с помощью клавиш «Alt+¬» и «Alt+®».
При нажатии на клавиши «Ctrl+F8» появляется окно:
Рис. 5.5
В этом окне число можно отредактировать, загрузить записанное ранее число из файла или сохранить его в текстовом файле.
При вычислении функций на дисплее может появится такое сообщение «Отрицательный аргумент» или «Аргумент вне диапазона». Это означает, что данная функция при таком аргументе не имеет значения в области действительных чисел, но имеет значение в комплексной области. Чтобы узнать это значение надо повторно ввести аргумент с нулевой мнимой частью. Например, для квадратного корня из «—2»:
Рис. 5.6
или перейти на вкладку «9. Комплексные числа» и воспользоваться командой «F_R=>Z». После этого повторить функцию:
Рис. 5.7
Если в окне «Параметры» включить опцию «Разрешить вычисления в комплексной области», то описанное выше преобразование аргумента в комплексное число будет происходить автоматически.
При подводе указателя мыши к дисплею появляется подсказка с полным значением числа. Например:
Рис. 5.8
То же самое происходит, если на экране матрица:
Рис. 5.9
В режиме программирования в подсказке отражается загруженная программа:
Рис. 5.10
Клавиша «F» (работает в любой раскладке) — префиксная клавиша для функций, написанных сверху клавиш с цифрами. При нажатии этой клавиши и подводе курсора мыши к нужной клавише появляется подсказка для этой функций (в квадратных скобках — горячая клавиша для вызова этой функции):
Рис. 6.1
После выполнения операции подсказка пропадает.
Клавиша «К» (работает в любой раскладке) — префиксная клавиша для режима ручного программирования для функций, указанных в самом нижнем ряду.
Для ввода показателя степени в числе используется кнопка «E». После того как на дисплее покажется буква «Е» можно ввести знак степени — кнопка «/—/» или клавиша «Shift+_».
Для изменения знака числа — клавиша «A (лат.)». Если число нормализовано (была команда «Ввод» или это результат операции, то меняется не только знак на дисплее (регистр «X1» стека), но и в регистре «X» стека. Для комплексных чисел при нажатии на клавишу «A» меняется знак мнимой части как на дисплее, так и в стеке. Для изменения знака действительной части числа можно использовать редактор комплексных чисел (вкладка «9») или функцию «F_—X» на той же вкладке, а затем использовать клавишу «A».
Для того, чтобы поменять в стеке местами числа «X» и «Y» — кнопка «XY» или клавиша «X».
Для перехода в режим программирования следует нажать последовательно кнопки «F» и «E». Для возврата в автоматический режим — кнопки «F» и «A».
При работе в режиме программирования клавиша «¬» («BackSpace») удаляет предыдущую команду, а клавиша «Delete» удаляет текущую команду. Если открыто окно «Редактор программ» и в нём нажата клавиша «Автоматический сдвиг адреса», то можно увидеть, что происходит автоматический сдвиг адресов в соответствующих командах.
Для ввода дроби при работе на вкладке «6. Ряды», нужно для разделения числителя и знаменателя ввести символ «\».
Табл. 6.1
Названия кнопок |
Клавиши клавиатуры |
||||||
¬ ® ® |
F |
||||||
ШГ |
> |
||||||
ШГ |
< |
||||||
В/О |
F7 |
||||||
С/П |
F9 |
||||||
К |
K (лат.) или К (рус.) |
||||||
ИП |
И |
||||||
П |
П |
||||||
БП |
F6 |
||||||
ПП |
F8 |
||||||
7, 8, 9, *, +, 4, 5, 6, /, —, 1, 2, 3, 0, . |
7, 8, 9, *, +, 4, 5, 6, /, —, 1, 2, 3, 0, . |
||||||
XY |
X (лат.) |
||||||
В |
Enter или D или В (рус.) |
||||||
/—/ |
_ или A (лат.) |
||||||
E |
E (лат.) |
||||||
Cx |
Esc, C |
Предположим Вы имеете на дисплее число:
Рис. 7.1.1
Чтобы отправить это число в регистр памяти следует нажать на кнопку «П» на калькуляторе или на клавишу клавиатуры, где буква «П» (в любой раскладке). На дисплее появится запрос номера регистра:
Рис. 7.1.2
Кол-во точек зависит от разрядности данных (в данном случае — 3).
Если указанный номер регистра является началом матрицы (матрицы-вектора, 2-х мерной или 3-х мерной), записанной в память, то число на дисплее запишется во все элементы матрицы и в регистр «X» стека. Это функционирует как в автономном, так и в программном режимах.
В случае, если указанный регистр не является началом матрицы, но входит в область регистров, занятых матрицей, то появится сообщение:
Рис. 7.1.3
При нажатии на кнопку «ИП» на калькуляторе или на клавишу клавиатуры, где буква «И» (в любой раскладке), на дисплее появится запрос номера регистра:
Рис. 7.2.1
Если в данный регистр данные пока не заносились ни вручную ни при работе программы, то появится окно:
Рис. 7.2.2
Для перехода в «Программный режим» последовательно нажмите кнопки «F» и «E» или клавиши «F»и «E» на клавиатуре. Вводя с помощью кнопок или клавиатуры наберите последовательность команд. Последними командами должны быть команды «С/П», «В/0» или «БП» с указанием адреса перехода и некоторые другие. Хотя бы одна команда «С/П» должна быть обязательно. Например, ввод команды перехода по условию:
Рис. 8.1.1
®
Для ввода этой команды использованы кнопки «F» и «ШГ». Затем вводятся 2 цифры адреса (соответствующие установленному максимальному количество команд — 99 для выбранного множества регистров).
Если программа вводится не с черновика, то конкретные адреса и номера регистров ещё не известны. Для того, чтобы ускорить процесс и не водить нулевые значения следует нажать на клавишу «Escape» — в этом случае все значения заполнятся автоматически.
® ¬
Для просмотра последовательности команд на дисплее ПМК
используйте кнопки «ШГ» и «ШГ» (клавиши клавиатуры «Shift+>» и «Shift+<».
Для ввода комментария нажмите клавишу «;» или кнопку «;» в палитре символов. На дисплее появится запрос:
Рис. 8.1.2
Введите текст комментария:
Рис. 8.1.3
При нажатии на клавишу «Enter» строка записывается в программу; при нажатии на клавишу «Esc» — отменяется.
Также работают команды «?» (запрос на ввод данных для ответвления в программе максимально 200 символов), «#» и далее текст до 200 символов (вывод текущего содержимого дисплея в результаты решения задачи; если в конце строки нет символа «#», то следующая такая же команда будет выводить значения в той же строке, если в конце есть символ «#», то после вывода значения происходит возврат каретки); если идут два символа «#» подряд, то содержание дисплея не выводится, а выводится содержание этой строки; если идут три символа «#» подряд, то результаты расчёта выводятся в таблицу (это сделано для программ с циклом ввода данных) и «!» (если дальше следуют цифры до 4 (максимально), то происходит временное увеличение или уменьшение точности вычислений до указанной величины; если без цифр, то происходит возврат к заданной точности вычислений).
Кроме того, символ «&» задаёт вывод графика (см. п. 15.1), а символ «$» — имя файла для операций с файлами (см. п.2.1.11).
Возможна комбинация символов «#» и «&» для создания одновременно и таблицы с результатами расчёта и создания графиков.
Введённая программа сразу отображается в «Редакторе программы».
Для возврата в «Автоматический режим» используйте кнопки «F» и «АВТ» или клавиши «F» и «А».
Если при появлении запроса «?» строка не помещается на экране ПМК, то следует подвести указатель мыши и появится подсказка с полным текстом запроса. Когда программа временно приостанавливается при выполнении команды «?», редактировать текст программы нельзя: можно только после остановки программы.
Вводить числа (с плавающей запятой или в формате DMS) при запросе «?» можно вручную или извлечением из памяти с помощью команды «ИП» или с помощью окна «Карта регистров». Для этого перед запуском программы, содержащей запрос «?», надо ввести в регистры нужные значения, а затем после запуска программы в первом случае нажать на кнопку «ИП» или клавишу «И» и во втором случае кликнуть ЛКМ на нужный регистр. Когда значение появится на экране, нажать на кнопку «В» на ПМК или на клавишу «Enter» на клавиатуре.
Примечание:
Устаревшие команды не могут быть введены в программу в режиме программирования. Их можно ввести в редакторе программ вручную или с помощью падающего меню.
Рекомендуется использовать следующий метод. В режиме программирования в строке, где ожидается устаревшая команда, например, «ИП0», вставляется знак комментария «;», а после него записывается устаревшая команда, т. е. в нашем случае «;ИП0». Затем после выхода из режима программирования в «Редакторе программ» знаки «;» удаляются и получается требуемая программа. Для команд с параметрами следует записывать со знаком «;» строки параметров (2 или 4), например, «;F_L0» и «;10» (номера строк в программе в режиме программирования вставляются автоматически).
Для копирования введённой программы в любой текстовый редактор необходимо войти в режим программирования (нажать клавиши «F» и «E») и ввести сочетание клавиш «Ctrl+C». Команды разделяются пробелами и не имеют конца абзаца или конца строки для последующего ввода из буфера в программу.
Для копирования программы из любого текстового редактора в программу необходимо войти в режим программирования (см. выше), пометить строку и ввести сочетание клавиш «Ctrl+V». Затем выйти из режима программирования. Для правильного ввода программы (касается только ввода из буфера) строки комментариев других строк, начинающихся с символа, не должны иметь пробелов. Их надо заменять на знак подчеркивания «_». Это необязательно при вводе программы из текстового файла, т. к. в нём программа уже разбита на отдельные строки. Если программа была записана в текстовый редактор через буфер из ПМК, то эта замена делается автоматически.
Устаревшие команды:
— ИП0 .. ИП9, ИПА..ИПЕ — извлечение содержимого из регистров 0..9 и 10 .. 13;
— П0 .. П9, ПА..ПЕ — запись в регистры 0..9 и 10 .. 13;
Новые команды:
ИП «РЕГ» — извлечение содержимого из регистров, указанных в РЕГ;
П «РЕГ» — запись в регистры, указанные в РЕГ.
ИПМ «РЕГ» и ПМ «РЕГ» — команды аналогичные ИП «РЕГ» и П «РЕГ», только для матриц, причём в «РЕГ» указывается самый первый элемент матрицы, содержащий кол-во слоёв. Эти команды введены для лучшего понимания программы, а по действию они идентичны предыдущим.
ИПК «РЕГ» и ПК «РЕГ» — команды аналогичные ИП «РЕГ» и П «РЕГ», только для комплексных чисел. Вместо них можно использовать, также как и для матриц, команды ИП «РЕГ» и П «РЕГ» и введены для большей ясности программы (видно, что идут операции с комплексными числами).
При выполнении этих команд сначала производится модификация содержимого адресуемого регистра, индекс которого входит в команду, и производится или извлечение содержимого из регистра и передача его в регистр «X» или запись содержимого регистра «X» в регистр, соответствующий полученному модифицированному коду.
Характер модификации зависит от региона, к которому принадлежит регистр (см. п. 3.3.1).
Устаревшие команды:
— К_ИП0 .. К_ИП9, К_ИПА..К_ИПЕ — извлечение содержимого из регистров, указанных в регистрах 0..9 и 10 .. 13;
— К_П0 .. К_П9, К_ПА..К_ПЕ — запись в регистры, номер которых содержится в регистрах 0..9 и 10 .. 13;
Новые команды:
К_ИП «РЕГ» — извлечение содержимого из регистров, номер которых содержится в «РЕГ»;
К_П «РЕГ» — запись в регистры, номер которых содержится в РЕГ.
К командам прямого перехода относятся:
— БП «АДР» —безусловный переход на строку программы с адресом, указанным после команды;
F_X<0 «АДР» — если условие не соблюдается, то осуществляется переход на строку программы, указанному в «АДР», а если соблюдается — то на строку, следующую за «АДР».
Примечание: здесь и далее приводятся примеры только с одним из условий (F_X<0, F_X=0, F_X>=0, F_X<>0).
К_X<0 «РЕГ» — если условие не соблюдается, то осуществляется переход на строку программы, содержащимся в «РЕГ», а если соблюдается — то на строку, следующую за «РЕГ».
ПП «АДР» — переход на строку с адресом, указанным в «АДР». При выполнении команды «В/0» — возвращается на строку, следующую за «АДР». Глубина подпрограмм не ограничена.
К_ПП «РЕГ» — то же, что и в предыдущем пункте, только адрес содержится в «РЕГ».
Устаревшие команды:
F_L0 «АДР» .. F_L3 «АДР» — организация цикла по содержимому регистров 0..3. Перед выполнением циклов в данные регистры заносятся целые положительные числа, а при обращении к ним в процессе работы программы, их содержимое уменьшается на 1 и осуществляется переход по адресу, указанному в команде («АДР»). Когда в регистре останется 0, осуществляется переход на команду, следующую за этим оператором.
Новые команды:
F_ЦИКЛ «РЕГ» «АДР» — в отличии от устаревшей команды, регистр для счётчика циклов содержится в «РЕГ». Регистр может принадлежать к любому региону.
К_F_ЦИКЛ «РЕГ» «РЕГ» — в отличии от предыдущей команды во втором регистре содержится адрес перехода.
Введены новые операторы: F_КЛЮЧ «РЕГ» и К_F_КЛЮЧ «РЕГ», которые выполняют роль переключателя в программе. По значению в РЕГ выполняются разные ветви программы. Для обеспечения этого служат команды «L» и «QL», которые разделяют ветви между собой. Параметр «РЕГ» во втором операторе указывает на регистр, в котором содержится число, модифицируемое в зависимости от того, в каком регионе находится регистр (1, 2 или 3). В зависимости от этого число или уменьшается на единицу или увеличивается на единицу или остаётся прежним. Первая ветвь выполняется при значении 0, вторая — 1 и т. д. При значении большем кол-ва ветвей выполняется следующая строка. Ниже приводится пример использования этого оператора.
Допускается использование вложенных переключателей.
Рис. 8.3.2.7.1
После запуска этого пакета на дисплее ПМК вы увидите:
Рис. 8.3.2.7.2
После ввода цифры и нажатия на клавишу «Enter» или на кнопку «В» появится график соответствующей функции (см. п. 16), а на дисплее ПМК этот же запрос. И так до тех пор, пока вы не введёте цифру «0». Соответствующая программа по построению графика должна иметь команду «F_RET» (см. п. 2.1.11).
Для отладки программ для ПМК следует использовать «Редактор программ» (клавиша «F4» или кнопка на панели инструментов) и «Редактор данных» (клавиши Ctrl+F4 или кнопка на панели инструментов). Появится последнее окно:
Рис. 8.4.1
¬ ®
При нажатии на клавишу «F8» или кнопку «ПП» (пошаговый режим) программа будет
последовательно отрабатывать команды. При этом каждая текущая команда
выделяется, а в регистры и в стек заносятся данные. Для того, чтобы начать
отладку с определённого адреса, надо или изменить текущий адрес помощью кнопок
«ШГ», «ШГ» (клавиши «Shift+>»,
«Shift+<» или задать
начальный адрес с помощью кнопки «БП» (клавиша «F6»), затем ввести требуемый адрес.
При нажатии на клавишу «F11» или на соответствующую кнопку панели инструментов программа выполняется с текущего адреса до строки, где установлен курсор.
Те же операции можно делать и в пакетном режиме (см. п. 2.1.11), за исключением программ, где используются процедуры по Таблице. 16.1.1.
Для временного исключения из работы программы отдельных строк можно пользоваться символом комментария «;».
Результаты расчёта можно вывести в текстовый файл с табуляцией (расширение «*.txt») для последующего вызова в «Excel».
Для этого в программе следует предусмотреть запись значений переменной «X» и значений «Y1», «Y2», … «Yi» … «Yn» в отдельные области регистров. Это можно легко сделать с помощью команды «К_П». При вводе этой команды задаётся номер первого регистра в который будет записываться значение «Yi». Для того, чтобы этот номер при каждом обращении к нему увеличивался на единицу, его следует задать в диапазоне регистров «Увеличив. мин.» — «Увеличив. макс.» (см. «Опции» ® «Параметры»).
Пример программы:
3 9 0 /-/ П 000 3 6 0 П 001 3 0 П 002 9 9 П 400 1 9 9 П 401 2 9 9 П 402 ИП 000 П 003 ИП 003 ИП 002 + П 003 ПП 50 ИП 003 ИП 001 - F_X>=0 33 С/П К_П 400 F_sin К_П 401 ИП 003 F_cos К_П 402 В/0
Скопируйте текст программы в буфер: «Ctrl+C», запустите программу «ПМК», нажмите клавиши «F» и «E» для входа в режим программирования, вставьте программу из буфера в память «ПМК» нажатием клавиш «Ctrl+V» и выйдите из режима ввода программ («F» и «A»). Для проверки выведите редактор программы (клавиша «F4»).
В программе выполняются следующие действия:
¾ в регистр «000» заносится значение «‑360» (начальное значение);
¾ в регистр «001» заносится значение «+360» (конечное значение);
¾ в регистр «002» заносится значение «30» (шаг вычислений);
¾ в регистр «400» заносится значение «99» (регистр для 1-го значения переменной);
¾ в регистр «401» заносится значение «199» (регистр для 1-го значения «Y1»);
¾ в регистр «402» заносится значение «299» (регистр для 1-го значения «Y2»).
Примечание:
Номера регистров для значений переменной «X» и значений «Y1» и «Y2» задаются с учётом модификации (увеличение на единицу).
После выполнения расчёта вызовите команду «Экспорт регистров в Excel [Ctrl+F10]». Появится следующее окно:
Рис. 9.1
После ввода каждой серии (номера и начального регистра) необходимо нажимать кнопку «Ввести».
Вторая серия вводится как показано на рис. 9.2:
Рис. 9.2
После заполнения и нажатия на кнопку «Ввести», кнопка «ОК» станет доступной и появится браузер для задания имени текстового файла с данными.
В «Excel» надо загрузить этот файл со следующими параметрами:
Рис. 9.3
Два раза нажать на кнопку «Далее>» и затем на кнопку «Готово».
Полученную таблицу с помощью мастера графиков довести до кондиции.
Процедуры К_ДИФ, К_ОПТ, К_ГАУ, К_СИМ, К_МЮЛ и К_РЯД выводят результаты расчёта в виде таблицы.
Для К_ДИФ таблица следующая:
Рис. 10.1
Для К_ОПТ таблица следующая:
Рис. 10.2
Для К_ГАУ таблица следующая:
Рис. 10.3
Для К_СИМ таблица следующая:
Рис. 10.4
Для К_МЮЛ (функция F = x4—3x3+20x2+44x+54) таблица следующая:
Рис. 10.5
Примечания:
1. При программировании функций, содержащих нечётные степени больше третьей, не пользуйтесь оператором «F_X^Y», а составляйте комбинацию из операторов «F_X^2» и «F_X^3». Это связано с тем, что для комплексных чисел логарифм имеет бесконечное число значений и не всегда главное значение является правильным.
2. Интервал, в котором ведётся поиск корней функции задаётся указанием первого, второго и третьего ожидаемого значения корней (1, 2 и 3 регистр (относительный) в «Редакторе данных»).
Для К_РЯД (задача вычисления числа «p» с точностью 100 знаков) таблица следующая:
Рис. 10.6
Ниже приведена программа для вычисления числа «p» с помощью ряда, предложенного Сринивасом Рамануджаном:
Рис. 10.7
В этой программе после вычисления суммы ряда выполняются команды (с адреса 04 по адрес 14) и в результате на экране калькулятора появляется:
Рис. 10.8
Вычисление числа «p» с точностью 999 знаков занимает 2 мин. 52 сек.
Для сохранения результатов расчёта, полученных с использованием символа «#» (см. п. 8.1), в пакетном режиме надо ввести команду записи результатов «F_ЗАП_РЕЗ» с указанием имени файла непосредственно после вызова программы:
Рис. 10.9
Далее рассмотрим вычисления в формате DMS на примере расчёта таблицы значений функций «sin» и «arcsin» в диапазоне от -360° до +360°. Программа имеет следующий вид:
Рис. 10.10
В строке 22 вызывается оператор «F_dms» для перевода числа, извлекаемого из регистра «0» (строка 20) в формат «DMS». Для получения значений функции «arcsin» в формате «DMS» кнопка «DMS» на панели инструментов должна быть нажата (чтобы дополнительно не переводить значение с помощью оператора «F_dms». Часть таблицы результатов показана на следующем рисунке:
Рис. 10.11
После загрузки программы из файла при вызове редактора программ (клавиша «F4») появится окно:
Рис. 11.1
Строки программы можно вырезать («Shift+Delete»), копировать «Ctrl+C» и вставлять («Ctrl+V»). При включенной опции «Автоматический сдвиг адреса» на панели инструментов «Редактора программ» — при вставке или удалении строк, влияющих на команды с адресами, адрес в этих командах будет автоматически изменяться.
Для перемещения (копирования) блоков строк в программе можно воспользоваться мышью: после выделения строк, которые необходимо переместить (скопировать), нажать ЛКМ (для копирования ещё нажать клавишу «Ctrl») и перетащить (скопировать) строки в начало нужной строки. Если кнопка «Автоматический сдвиг адреса» нажата, то адреса в командах будут автоматически изменены. Таким же образом можно копировать строки из редактора одной программы ПМК в другую. Для этого нужно вызвать два экземпляра программы. Для удаления выделенных строк из программы нужно нажать на клавишу клавиатуры «Delete» (действует автоматический сдвиг адреса). Для удаления команд с параметрами в виде номера регистра и адреса, удобно пользоваться следующим приёмом.
Поместить курсор в конце команды:
Рис. 11.2
С помощью клавиши «BackSp» стереть последний символ. Стирается строка с командой и все строки с параметрами:
Рис. 11.3
Если надо отредактировать команду с параметрами (без удаления команды), то можно воспользовать следующим приёмом (на примере команды «F_X<>0»):
1. Вставить перед командой знак комментария «;»: «10 ;F_X<>0».
2. Отредактировать команду: «10 ;F_X=0».
3. Снять знак «;»: «10 F_X=0».
Примечание: заменяемая команда должна иметь тот же набор параметров, что и предыдущая команда, т. е. регистры и адреса в командах должны присутствовать на тех же местах.
При стирании последнего символа в команде без параметров поочередно удаляются последние символы.
При изменении разрядности данных в окне «Параметры» или нажимая на ЛКМ или ПКМ на число справа от «Данные», в тех командах, где есть номер регистра меняется формат номера (добавляются или удаляются ведущие нули).
То же самое происходит с командами, где есть адрес, при изменении разрядности адреса аналогичным образом. При чтении изменённой программы или файла данных лишние ведущие нули в адресах и номерах регистров автоматически убираются.
Для печати программы пометьте строки указателем мыши или с помощью клавиш «Ctrl+Shift+End» всю программу, скопируйте в буфер (клавиши «Ctrl+C») и вставьте из буфера (клавиши «Ctrl+V») в любой текстовый редактор для печати.
Рис. 11.1.1
При нажатии на эту кнопку производится проверка синтаксиса программы с выделением ошибочной команды красным цветом.
При установке этой опции автоматически осуществляется проверка программы при её вводе или редактировании.
При установке этой опции автоматически корректируются адреса в соответствующих командах.
При включённой опции ускоряется процесс ввода команд.
После ввода параметров команд происходит перенос строки и создание пустой строки.
Записывает программу в текстовый файл. Если программа ещё не имеет имени, то вызывается браузер для задания имени файла.
Осуществляет запись программы с заданием имени в браузере в текстовый файл после проверки на синтаксис.
Удаляет программу, оставляя 2 строки.
Отменяет предыдущее изменение в редакторе.
Восстанавливает изменение после команды «Откат».
Вставляет пустую строку перед строкой с курсором. Курсор должен находиться в начале строки.
Если нажать клавишу «Enter» в конце строки, то пустая строка вставляется после этой строки.
Удаляет строку в которой находится курсор.
Вставляет знак метки в пустой строке программы. Если нажать при вводе команд с адресом, то появляется комбинированный список, где можно выбрать уже имеющуюся метку в программе.
Изменяет весь шрифт редактора программы.
Выводит локальную справку по «Редактору программ».
Показывает и переключает раскладку клавиатуры.
При загрузке программы, а также при редактировании её, автоматически заполняется список операторов и функций программы.
Рис. 11.1.16.1
В круглых скобках указан номер строки оператора. При выборе любого из операторов программы из этого списка происходит переход на указанную строку, которая располагается посредине экрана, и меняется текущий адрес программы, т. е. этот приём можно также использовать для перехода на нужную строку, например для вставки операторов в режиме программирования.
Для работы с длинными программами удобно использовать закладки (до 10-ти). Для их создания используется следующая комбинация клавиш: «Ctrl» + «Alt» + цифры от «0»..«9». Запоминается номер строки и положение курсора на ней.
Для возврата на нужную строку используется комбинация клавиш: «Alt» + «Shift» + цифры от «0»..«9».
В раскрывающемся списке строки с закладкой отмечаются круглыми скобками (см. Рис. 11.1.16.1).
Команды можно вставлять с помощью клавиатуры. При этом следует переключать язык, если команда имеет смешанные символы. Если хотя бы один символ неправильный, то вся строка выделяется красным цветом.
«Комментарии» (команда «;») позволяют пояснить работу программы.
«Запрос на ввод числа» (команда «?» и следующие за этим символом текст, например: «Введите целое число:») приостанавливает работу программы и позволяет в процессе работы программы вставлять числовые значения. После вставки числа и нажатия клавиши «Enter» работа программы продолжается.
Команда «?» с последующим текстом во время работы программы выводит текущие показания дисплея ПМК в буфер для вывода результатов расчёта которые появляются в специальном окне по завершении программы. Например, надо вывести в результаты расчёта значение регистров. Для этого в программе записывается команда «ИП» и «номер регистра», который содержит расчётную величину, а за ней команда: «#Прогиб вала, мм =#». Эта строка добавится в окно «Результаты расчёта». Текст окна можно сохранить в текстовый файл.
Команда «!» с последующим целым числом (слитно) задаёт временное изменение количества значащих цифр при работе программы. При вводе команды «!» без цифр количество значащих цифр возвращается к первоначально заданному значению.
При вводе операторов и функций существует механизм автоматического добавления символов. Для этого кнопка «F_» должна быть нажата (по умолчанию) и клавиатура переключена на «EN». Например, чтобы ввести команду «F_ЦИКЛ» достаточно нажать клавиши с буквами «F» и «W» (не нажимая на клавишу «Shift». Исключение составляет команда «В/0», которую надо вводить, нажимая на клавишу «D» с нажатой клавишей «Shift». Также при вводе команд работы с файлами «F_ЧИТ_...», «F_ЗАП_...» и «F_УДАЛ_...» (см. п. 2.1.11) раскладка клавиатуры должна быть «RU».
Если нажата кнопка «¿» (автоматический перенос строки — нажата по умолчанию) то после ввода параметра команды происходит перенос с созданием пустой строки. Для команд, не имеющих параметров (например функция F_sin) автоматического переноса не происходит. Эта включённая опция ускоряет ввод программы, а при редактировании строк программы её лучше отключать.
При вставке команд для работы с матрицами нумерация слоёв, строк и столбцов начинается с «1», а не с нуля. В косвенных командах с матрицами значения в регистрах также должны начинаться с «1».
При редактировании команд, имеющих параметры в виде номеров регистров или адресов, рекомендуется не пользоваться выделением и последующей заменой цифр, а пользоваться клавишей «BkSp». В этом случае не происходит вставки пустой строки.
При использовании команд «Ctrl+Insert» и «Shift+Insert» для копирования и вставки строк в программе следует учитывать, что сначала надо отпустить клавишу «Insert», а затем клавишу «Ctrl» или «Shift».
Редактировать текст программы в «Редакторе программ» можно только в режиме редактирования, а не в режиме программирования, когда на дисплее ПМК видны команды программы. В случае необходимости надо выйти из режима программирования (нажав клавиши «F» и «A»), отредактировать текст, а затем снова войти в режим программирования (клавиши «F» и «E»).
При вставке устаревших команд, имеющих обращение к регистрам 0..9, А..Е, буквы (А..Е) следует вводить нажатием на клавиши, которые содержат русские буквы «А», «В», «С», «Д», «Е» при английской раскладке клавиатуры.
В командах с параметрами в виде адресов вместо номеров строк можно использовать имена меток. Метки начинаются с буквы «М» (кириллица) и дальше идёт произвольный текст. В самих командах к именам меток добавляются символы « =>» для того чтобы отличить их от собственно меток. Для ввода меток в программе нужно клавишу с русской буквой «М» и дальше ввести произвольный текст, а для ввода этих меток в командах используется комбинированный список, в который автоматически заносятся все введённые метки. Ниже приводятся две программы для понимания отличия этих двух способов:
Рис. 11.2.1.1
Рис. 11.2.1.2
Во втором случае метки использовать в качестве комментария к подпрограммам.
Для вставки меток в качестве адресов используется, как уже было сказано комбинированный список:
Рис. 11.2.1.3
Перед запуском программы на выполнение необходимо проверить, что метки, на которые указывают команды, существуют, иначе будет выведено следующее предупреждение:
Рис. 11.2.1.4
При вводе программы в режиме программирования (кнопки и клавиши «F» и «E»), для создания метки нажмите клавишу с буквой «М». На дисплее ПМК появится символ «М». Введите имя метки и нажмите на клавишу «Enter» или кнопку «В». При открытом окне «Редактор программ» появится строка. При вводе команд с адресами вводите любые цифры, например «0». После ввода остальных строк программы выйдите из режима программирования (кнопки «F» и «/—/»; клавиши «F» и «A») и удалите адрес с помощью клавиши «¬» там, где хотите вставить метку. Затем нажмите клавишу с буквой «М» и выберите из списка нужную метку. Она появится в программе.
Данные команды имеют в качестве параметра номер регистра, а кроме того, при их вводе надо нажимать клавишу «Enter» (из-за устаревших команд: ИП0..ИПЕ, П0..ПЕ, К_БП0..К_БПЕ, К_X<0_0..К_X<0_Е и т. д.). При редком стечении обстоятельств, а именно: разрядность данных = 1, команда вставляется перед числом, начинающимся с цифры, невозможно ввести параметр у этой команды. Для решения этой проблемы имеется три варианта:
1. временно увеличить разрядность данных, ввести команду с параметром, а затем вернуть первоначальную разрядность данных;
2. вставить команду через падающее меню;
3. перед первой цифрой числа ввести строку со знаком комментария «;», ввести команду с параметром, а затем удалить лишнюю строку.
Для вставки в программу комплексных чисел используется тот же способ, что и при наборе комплексных чисел в автоматическом режиме (см. п. 1.2.4).
Рис. 11.3.1
В данном примере вводится комплексное число «-1.2345-i2.3456». Сначала вводится действительная часть, затем символ «i» и мнимая часть. Для изменения знака у действительной или мнимой частей следует сразу же за ними ввести команду смены знака «/-/».
В результате на экране появится:
Рис. 11.3.2
При копировании в «Редактор программ» строк из буфера возможно появление символов «?» вместо букв кириллицы. В этом случае надо скопировать содержимое буфера сначала в редактор «Word» или «Блокнот», а затем уже в «Редактор программ».
После вставки пустой строки, при нажатии на ПКМ появляется падающее меню из которого можно выбрать нужную команду:
Рис. 11.4.1
После выбора команды из падающего меню она вставляется в текст программы.
Текст программы можно ввести с помощью программы Word. Для этого нужно сделать следующее:
1. После ввода адреса в первой строке «00» нажать клавишу «Tab», ввести команду и нажать на «Enter». В появившейся новой строке появится следующий номер пункта «01», ввести следующую команду программы и т. д. В командах, имеющих адреса, следует ориентироваться на номера строк. Результат изображён на рис. 11.5.1:
Рис. 11.5.1
2. Выделить все строки введённой программы и снять нумерацию пунктов:
Рис. 11.5.2
3. Сохранить файл как *.txt с введением расширения «.prg». Для того, чтобы «Word» не добавил к имени расширение «.txt», надо имя файла с расширением «.prg» заключить в кавычки «”».
4. После чтения данной программы в ПМК, получим следующее:
Рис. 11.5.3
Откройте файл с программой в ПМК. Выделите все строки. Через буфер перенесите выделенные строки в Word.
В Word’е снова выделите все строки и включите нумерацию пунктов.
Полученный текст программы пригоден для вставки и удаления строк, перемещения и копирования, т. к. нумерация автоматически обновляется. Нужно иметь в виду, что в отличие от редактора в ПМК, здесь адреса в командах автоматически не меняются, т. е. их надо менять вручную.
Отредактированную таким образом программу сохраните как указано в предыдущем пункте.
При работе в режиме повышенной точности, когда кол-во знаков в числе большое, можно вывести число в специальном окне. Для этого нажмите клавиши Ctrl+F8. При этом появляется окно:
Рис. 12.1
В каждой ячейке цифру можно отредактировать; при нажатии ЛКМ или ПКМ на ячейку «Знак:» меняется знак числа. Для изменения числа в ячейке «0» надо щелкнуть ЛКМ для выделения и ввести другую цифру (запятая допишется автоматически). Все изменения сразу отражаются на дисплее ПМК. Число можно записать в текстовый файл, а позднее загрузить из файла число в программу. Для выхода нажмите на клавишу «Esc» или на кнопку «Выход (Esc)».
С дисплеем ПМК можно совершать операции по копированию с использованием буфера Windows. Например, на дисплее число «p» с точностью 200 знаков:
Рис. 13.1
Символы «[..]» и «[°.]» показывают, что число (с плавающей запятой или в формате DMS) выведено не полностью. Для того, чтобы увидеть полностью надо щелкнуть на дисплей и число развернётся полностью (колёсико мыши позволяет скроллировать число).
При нажатии клавиш «Ctrl+C» содержимое дисплея копируется в буфер. При вставке с помощью клавиш «Ctrl+V» содержимое буфера копируется в любой текстовый редактор, например в Word, что вы и видите ниже.
+3,141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964E+0000.
Эта же операция действует в обратном направлении, т. е. из текстового редактора в программу ПМК. В случае, если строка содержат недопустимые символы, на дисплее появляется следующее сообщение: «Неверный формат».
Также буфер можно использовать для переноса из ПМК в текстовые редакторы и из текстовых редакторов в ПМК чисел с плавающей запятой, в формате DMS, комплексных чисел и матриц.
При переходе на вкладку «Матрицы» появится окно:
Рис. 14.1.1
Для того, чтобы создать новую матрицу вызываем «Редактор матрицы».
Появится окно:
Рис. 14.1.2
По умолчанию размер матрицы 10×10.
Для изменения нажимаем на кнопку «Создание новой матрицы»:
Рис. 14.1.3
Для изменения количества строк или столбцов или слоёв используйте соответствующие спин-редакторы. Нумерация строк, столбцов и слоёв начинается с «1». При нажатии на кнопку «Выход» размерность не меняется.
Изменяем на 9×10 и нажимаем на «ОК». Получаем:
Рис. 14.1.4
Вместо нулей вставляются случайные числа (потом будет ясно зачем).
Для вычисления определителя матрицы нажимаем на кнопку «Det». В статусной строке появляется результат:
Рис. 14.1.5
Предположим, что перед нами таблица коэффициентов для системы линейных уравнений (СЛУ). Нажимаем на кнопку «Нахождение решения СЛУ» и получаем:
Рис. 14.1.6
В колонке «Х» — корни системы уравнений.
Таблицу можно запомнить в текстовом файле с табуляцией и импортировать её в Excel, а при необходимости позднее вызвать для дальнейшей работы. Матрица, созданная в Excel, может быть импортирована в ПМК. Для этого в первой строке первые три ячейки должны содержать кол-во слоёв, кол-во строк и кол-во колонок. Слои нужно разделить пустой строкой.
Можно также найти обратную матрицу и разложить исходную матрицу на соразмерную и вспомогательную (кнопки Ainv и At). Кнопки «¬», «®», «» и «¯» позволяют добавлять и убирать строки и колонки из таблицы.
При выходе из этого окна появляется окно для ввода номера регистра для запоминания в памяти ПМК или стек:
Рис. 14.1.7
Можно также ввести таблицу в стек или одновременно в память и стек.
«Начальный регистр» — номер регистра с которого будет записана матрица.
«Конечный регистр» — номер последнего регистра, занятого данной матрицей.
Если последний регистр занят другими данными, то цифра становится красной.
Кнопка «Карта регистров» вызывает соответствующее окно для подсказки занятых и свободных регистров.
При нажатии на кнопку «Нет» запись матрицы не производится.
Рис. 14.1.8
После введения матрицы в память или в стек с нею можно выполнять арифметические операции, включая возведение в квадрат или в любую целую степень. При нажатии на дисплей ЛКМ сокращение «Матрица 2D 10х10» превращается в строку со значениями матрицы, которая скроллируется колёсиком мыши:
Рис. 14.1.9
При повторении этой команды строка принимает первоначальный вид.
При сохранении в буфере Windows и последующей вставке содержимое этой строки можно передать в любой текстовый редактор.
При выходе из программы содержимое памяти как и в других случаях сохраняется в файле с расширением «*.dat», который можно позднее вызвать.
При редактировании матрицы можно менять представление чисел в выбранных строках или во всей матрице с десятичной дроби (с плавающей запятой) на числа в формате DMS (см. п. 1.2.5.).
Чтобы выбрать строку для представление чисел в формате DMS, надо нажать ЛКМ на номер строки (появится добавление к номеру «(DMS)»:
Рис. 14.1.10
В этом примере для представления чисел в формате «DMS» помечены две строки 1-ая и 2-ая. В первой строке угол изменяется от 15 до 16 градусов с шагом 10 минут. Во второй строке — значения синуса от данного угла. В третьей строке — арксинус от значений второй строки в формате «DMS». Для представление всей таблицы надо нажать ЛКМ на пустой прямоугольник в верхней левой части таблицы:
Рис. 14.1.11
Для возврата к десятичному представлению нажмите ЛКМ ещё раз:
Рис. 14.1.12
Для ввода числа в формате «DMS» после ввода градусов следует ввести апостроф «’», затем ввести две цифры минут, ещё ввести апостроф, а затем вводить секунды (если требуется большая точность, то с запятой).
В стеке и в регистрах ПМК числа хранятся только в десятичном виде, поэтому после выхода из окна «Матрицы» и затем повторного входа, назначение строк с «DMS» необходимо повторить.
Если на экране есть надпись «Матрица…», то при вводе констант «p», «e» «ln10» «lge», «g», константа не появляется, происходит присвоение этого значения каждому элементу матрицы.
В приведённой ниже программе используются команды «F_МАТР» для создания матрицы с нулевыми значениями и заполнения элементов синусами значений от 1 до 90 с помощью команды «F_Пaij», где указываются не абсолютные номера регистров, как в следующем примере, а номера строк и столбцов. Программу можно загрузить через буфер Windows.
;Создание_матрицы_с_помощью_F_МАТР ;РЕГ_000_—_начало_матрицы ;РЕГ_800_—_счётчик_цикла_по_строкам ;РЕГ_801_—_счётчик_цикла_по_столбцам ;РЕГ_802_—_немодифицируемый_регистр_номера_строки ;РЕГ_600_—_модифицируемый_регистр_номера_столбца ;РЕГ_804_-_значение_элемента_в_матрице ;РЕГ_805_—_кол-во_строк_матрицы ;РЕГ_806_—_кол-во_столбцов ;РЕГ_900_-_немодифицируемый_регистр_начала_матрицы ;РЕГ_901_-_немодифицируемый_регистр_номера_слоя ;РЕГ_902_—_немодифицируемый_регистр_номера_строки ;РЕГ_903_—_немодифицируемый_регистр_номера_столбца ^3 Г ?Кол-во_строк_M_(<26)_= П 805 ?Кол-во_столбцов_N_(N=M+1)_= П 806 1 ИП 805 ИП 806 F_МАТР П0 ИП 805 П 800 1 П 901 0 П 900 П 902 П 804 М_Начало_цикла_по_строкам ИП 902 1 + П 902 0 П 600 ИП 806 П 801 М_Начало_цикла_по_столбцам ИП 804 1 + П 804 F_sin К_F_Пaij 900 901 902 600 F_ЦИКЛ 801 М_Начало_цикла_по_столбцам_=> F_ЦИКЛ 800 М_Начало_цикла_по_строкам_=> ИП0 F_СЛУ_A С/П
Рис. 14.2.1
В изображённой на рисунке программе в цикле записываются 90 чисел, начиная с регистра 2. В окне «Карта регистров» они закрашены чёрным цветом. Затем записывается заголовок матрицы (кол-во слоёв, строк и колонок) в строках программы 25, 28 то же чёрным цветом. Но после записи кол-ва колонок (строка 32) всё окрашивается салатовым цветом. Теперь матрица готова к использованию, т. е. при чтении её командой «ИП0», она загружается в стек и выполняется решение СЛУ. На дисплей появляется надпись «Матрица 1D 9x1». Указанная матрица содержит решение:
Рис. 14.2.1
Для того, чтобы увидеть это решение, нужно выйти на вкладку «8. Матрицы» и вызвать «Редактор матрицы [Ctrl+6]». Решение можно также запомнить в других регистрах, а все данные записать в файл данных. Программу через буфер можно загрузить отсюда:
;Создание_матрицы_2D_9x10_и_решение_СЛУ 9 0 П 400 2 П 401 0 П 402 М_Начало_цикла ИП 402 1 + П 402 F_sin К_П 401 F_ЦИКЛ 400 М_Начало_цикла_=> 1 F_Пz 000 9 F_Пm 000 1 0 F_Пn 000 ИП0 F_СЛУ_A С/П
Рис. 15.1
В операциях с регистрами (косвенное чтение или запись) есть отличие от операций с вещественными данными, а именно модификация регистра в регионах 1 и 2 происходит не на 1, а на 2, так как комплексное число занимает 2 регистра.
Рис. 16.1
В стеке хранятся данные, полученные путём ввода или при выполнении различных операций. Это могут быть вещественные или комплексные числа а также матрицы. В режиме повышенной точности — только вещественные или комплексные числа. Размер стека не ограничен, но в параметрах можно задать максимальный размер стека ( по умолчанию 10), при котором выходящие за предел данные уничтожаются.
Первые четыре регистра имеют обозначения: X, Y, Z, T; остальные от 4 и далее — цифры.
При вводе числа с клавиатуры оно записывается в специальный буфер и только после команды «В» («Enter») попадает в регистр X стека. Если ввести какую-либо функцию без нажатия на «В» («Enter»), то её значение перепишет значение регистра X стека. Если ввести команду «В» («Enter»), то произойдёт сдвиг в стеке, число переместится в регистр Y и после выполнения какой либо функции в регистре стека X будет значение функции, а в регистре Y — значение введённого числа. То же самое происходит и при работе программы, и это надо учитывать. Команды «XY» и «F_O» служат для перемещения содержимого стека.
Сдвиг данных в стеке происходит только при 3-х видах команд:
1. Извлечение из памяти (все команды с «ИП»: ИП, ИПМ, ИМК, ИП0..ИПЕ, К_ИП0..К_ИПЕ, К_ИПМ, К_ИПК);
2. Команда «Ввод» : «В» или «Enter»;
3. Вывод результата предыдущей операции — «F_Вх».
При всех других командах сдвига данных в стеке не происходит.
Для очистки стека (если это необходимо) есть два способа:
1. Ввести «0» и выполнить операцию «*» (умножение) столько раз, сколько нужно.
2. Выполнить операцию очистки данных и стека (см. п. 3.2.2.).
3. Ввести «0» и нажимать команду «Ввод» или «Enter» до тех пор, пока другие данные не исчезнут из стека. Затем — по способу 1.
В дополнение к тому, что уже сказано в п. 1.2.6, необходимо остановится на следующем.
Такие операции, как арифметические действия, производятся для практически любых дробей. Введём первую дробь:
Рис. 17.1
Введём вторую дробь:
Рис. 17.2
Разделим:
Рис. 17.3
Можно также делать арифметические операции для комплексных чисел в формате простой дроби с некомплексными числами. Вводим первое число:
Рис. 17.4
Вводим вторую дробь:
Рис. 17.5
Умножаем:
Рис. 17.6
В качестве второго или первого операнда к простой дроби может быть простое целое или десятичное число.
Для правильного выполнения операций с простыми дробями необходимо придерживаться следующего правила: сумма максимальных цифр в числителе и знаменателе в операндах не должна превышать заданной точности (кол-ва значащих цифр) больше, чем на 1—2 знака. Например, иррациональное число «p» с точностью 10-ти знаков («3,141592653») представляется в переводе в простую дробь как «3141592653\1000000000», а иррациональное число «e» («2,718281828») — «679570457\250000000». Сумма максимальных значений равняется «19» и арифметические операции выполняются правильно. Но при точности 11-ти знаков («3,1415926535» и «2,7182818284» в простых дробях «6283185307\2000000000» и «6795704571\2500000000» соответственно) арифметические операции с простыми дробями выполняются уже неправильно. В этом случае следует перейти на бо́льшую точность, например «20».
Другое дело, когда с дробями работают функции. В этом случае в процессе вычислений (кроме тривиальных случаев типа sin(30°) или cos(60°)) образуются непериодические десятичные дроби, которые теоретически нельзя представить в виде простой дроби. Исключения составляют такие функции, как вычисление чисел Бернулли или Эйлера с помощью специальных рядов. Результатом вычислений являются десятичные периодические дроби, которые можно преобразовать в простые дроби (см. вкладку «6. Ряды и дроби», но для этого нужно установить соответствующее число значащих цифр (точность), иногда в несколько тысяч (для индексов этих чисел больше 1000 или 500 для представления 2n).
Опция «Перевод в простую дробь» в окне «Парамеры» позволяет автоматически переводить непериодические дроби в простые с заданной точностью (кол-вом значащих цифр).
При сохранении простой дроби в регистре записывается не только её значение, но и символьный образ. Это позволяет даже при малом кол-ве знаков извлекать из памяти простые дроби с большим кол-вом цифр в знаменателе без определения периода десятичной дроби, что возможно только при большой установленной точности, и проводить арифметические операции и с ними.
Команда «?» служит для ввода в программу данных различного типа: целых, вещественных, комплексных чисел, чисел с плавающей запятой, чисел в формате «DMS» (см. п. 1.2.5.) и дробей (см. п. 11.2.).
Кроме того, в запросы можно ввести условные операторы и числа в разных форматах для того, чтобы при ошибке ввода, данная строка программы автоматически повторялась для исправления ошибки. Условные операторы следующие:
‘>’ ‘<’ ‘=’ ‘> =’ ‘< =’ ‘< >’, а также их варианты:
‘= >’ ‘= <’ ‘> <’
После условного оператора должно идти число, например:
«Введите число столбцов матрицы N <= 20:».
Условие может быть помещено в скобки (круглые, квадратные или фигурные:
«Введите число столбцов матрицы N (<= 20):».
Условный оператор и число должны быть разделены пробелом.
Если в запросе указано целое число, то вводимое число также должно быть целым. При вводе вещественного числа запрос повторяется. Если в запросе указано вещественное число, например:
«Введите ширину пластины B >= 5,0»,
то можно вводить и вещественные и целые числа.
В запросе могут быть указаны также числа в формате «DMS» и дроби:
«Введите угол Т <= 15°50'20»,
«Введите диаметр D > 3\4».
В этом случае числа в ответ на запрос можно вводить также и в формате «DMS» и в виде простой дроби и как вещественное число. Если условие ‘=’ вводится для дробей, то и числа надо вводить в этом же формате, чтобы условие было точно выполнено (без учёта погрешности перевода в десятичную дробь).
Для комплексных чисел условия создаются отдельно для действительной и мнимой частей. Для этого предусмотрены два ключевых слова: «Re» (действительная часть) и «Im» (мнимая часть):
«Введите действ. часть Re <= 30.0 :».
Число надо вводить в комплексном виде, например: ’24,5+i45,3’. Действительная часть введённого комплексного числа будет проверена по указанному условию и если условие соблюдается, то программа переходит на следующую строку программы, если не соблюдается, то запрос повторяется. Перевод числа в стек происходит только при выполнении условия.
Проверку условий можно проводить и для матриц. Условие проверяется последовательно для каждого элемента матрицы. Если хотя бы один элемент не удовлетворяет условию, то запрос остаётся. Поскольку ввести с помощью клавиатуры матрицу нельзя, её вводят или с помощью команды «ИП» или нажать ЛКМ на первый элемент матрицы в окне «Карта регистров». В программе эта строка может выглядеть так:
«Введите матрицу М aij >= —10».
Символы «М» и «aij» необязательны и введены для ясности программы.
Если возникло сомнение в правильности ввода числа, то можно вернуться к предыдущему запросу, нажав кнопку «ШАГ» или клавиши «Shift + <», и повторить ввод.
Часто приходится вводить условия в диапазоне — с какого-то значения по какое-то значение. В этом случае условия в программе надо записывать подряд:
«1. Введите диаметр D >= 4.0»
«2. Введите диаметр D <= 10.0».
Причём, второй раз число набирать не надо, а следует нажать на кнопку «В» ПМК или клавишу «Enter» на клавиатуре. В стек число записывается один раз (первый).
Цифры в начале запроса необязательны, но они показывают пользователю, что параметр один и тот же, но другое условие.
Для комплексных чисел многократные условия в программе могут выглядеть так:
«1. Введите комплекс Z Re >= 15.0»
«2. Введите комплекс Z Re <= 30.0»
«3. Введите комплекс Z Im >= 20.0»
«4. Введите комплекс Z Im <= 45.0».
Двухсторонние условия проверки элементов матрицы (см. выше) могут выглядеть так:
«1. Введите матрицу М aij >= —10».
«2. Введите матрицу М aij <= 10».
Работа с переключателями F_КЛЮЧ и К_F_КЛЮЧ вызывает трудности у пользователей, поэтому разберём детально этот процесс.
Допустим, создаём новую программу. Вставляем пустую строку:
Рис. 19.1
Нажимаем ПКМ. Появляется падающее меню:
Рис. 19.2
Выбираем пункт «Блок для вставки F_КЛЮЧ»:
Рис. 19.3
В «Редактор программ» будет вставлен блок:
Рис. 19.4
Установите курсор на строке «02» в конце «РЕГ» и нажмите на клавишу «¬».
«РЕГ» удалится полностью. Вставьте номер
регистра, в котором будет содержаться счётчик преключателя:
Рис. 19.5
Допустим, требуется вставить ещё переключатель для случая «1». Для этого после метки переключателя «L» добавим строку:
Рис. 19.6
Повторяем вставку блока:
Рис. 19.7
После введения номера регистра получим:
Рис. 19.8
Дальше следует перед переключателем в строке «04» вставить строки, где вводится индекс переключателя, например с помощью запроса, и сохраняется в регистре «20»:
Рис. 19.9
Указание «>= 0» в запросе строки «04» выполняет двойную миссию: не позволит ввести отрицательную величину и десятичное число (в этом случае запрос будет автоматически повторяться).
Перед переключателем в строке «01» надо также записать в регистр «10» нужный индекс.
Строки программы, вставляемые перед первой меткой переключателя «L» (строка «09»), выполняются при индексе «0», а после, при индексе «1». При добавлении меток индексы соответственно увеличиваются. Если запрос нужно начать не с нуля, а с какого-то номера, например «3», то вставляются пустые метки «L», например:
Рис. 19.10
Если в запросе введено число, большее, чем кол-во меток, то происходит выход из данного блока переключателя и выполняется следующая за ним команда.
Операционные системы Windows 7 и последующие имеют механизм для активизации окна при наведении курсора мыши (без клика). Так как ПМК имеет несколько одновременно видимых окон («Редактор программ», «Редактор данных», «Карта регистров»), то целесообразно использовать вышеуказанный механизм. Для этого в операционной системе необходимо:
1. Войти в «Панель управления».
2. Выбрать пункт «Центр специальных возможностей».
3. Выбрать пункт «Облегчение работы с мышью».
4. Включить опцию «Активировать окно при наведении на него указателя мыши».
Для вывода графиков предназначена команда «&». Использование этой команды поясним на следующей программе:
Рис. 21.1.1
В этой программе в строке «38» задана команда «&X Аргумент». «X» — ключевое слово, указывающее, что значения числа на дисплее записываются в массив точек по абсциссе, а дальнейший текст в этой строке выводится на графике внизу.
После вычисления значения «sin» (строка 39) оно записывается в массив точек по ординате «&Y sin» (строка 40). «Y» — такое же ключевое слово, что и «Х», т. е. слова после «Y» выводятся в легенде графика. То же самое происходит в строках программы 42 и 43.
Для того, чтобы можно было построить графики с аргументом и в радианах и в градусах служат команды в строках «07» — «34».
После окончания работы программы появляется окно:
Рис. 21.1.2
Полученный график можно записать в файла с расширением «*.grf» (для последующего вызова на экран, или в текстовый файл с табуляцией (расширение «*.txt») для импорта в Excel для работы с графиком в этой программе. Также в этом окне можно изменить толщину пера (от 1 до 5 пикселей) и вывести маркеры значений функций:
Рис. 21.1.3
Максимальное количество графиков — 20.
Для выхода из этого окна с сохранением графика следует использовать кнопку «Выход [Esc]».
Одновременно с созданием графика программа может создать и таблицу значений:
Рис. 21.1.4
К предыдущей программе добавлены строки №№ 39, 42, 46.
В результате работы программы создаётся не только график (см. выше), но и таблица значений:
Рис. 21.2.5
Матрица (только 2D) должна быть создана, как показано на Рис. 21.2.1:
Рис. 21.2.1
В первой строке — значения аргумента.
В последующих строках — значения серий (серий не более 20).
Матрицу можно создать в редакторе матриц вводя значения (см. рисунок), программно или импортируя из Excel.
После ввода матрицы в МПК следует нажать на кнопку «График» или клавишу «F10».
Покажется график:
Рис. 21.2.2
Таблица. 22.1.1
№ |
Обозначение |
Назначение процедуры |
Аргумент |
Повышенная |
|
Действительный |
Комплексный |
||||
1 |
ДИФ |
Решение системы дифференциальных уравнений методом Рунге-Кутта-Флетчера. |
+ |
— |
+ |
2 |
ОПТ |
Нахождение значений переменных для минимизации (максимизации) целевой функции методом многомерного симплекса (метод Нелдера-Мида). Кол-во переменных не ограничено. |
+ |
— |
— |
3 |
ГАУ |
Решение системы нелинейных уравнений методом Нелдера-Мида (каждое уравнение становится целевой функцией). |
+ |
— |
— |
4 |
СИМ |
Вычисление интеграла функций методом Симпсона. За основу взят, переведённый с языка Алгол‑60 на язык Паскаль, алгоритм 182б [1] |
+ |
— |
+ |
5 |
РЯД |
Вычисление значений ряда. |
+ |
— |
+ |
6 |
МЮЛ |
Нахождение корней произвольной функции методом Мюллера. Функция и корни могут быть комплексными. За основу взят, переведённый с языка Алгол‑60 на язык Паскаль с исправлением ошибки, алгоритм 196б[1]. |
+ |
+ |
+ |
Процедуры выполняются не в автономном режиме, а в программе.
Таблица. 22.2.1
№ |
Обозначение |
Вкладка
и |
Аргумент |
Повышенная |
||||||||||
Действительный |
Комплексный |
Элемент матрицы* |
||||||||||||
|
«0. Тригонометрические
и показательные функции» |
|||||||||||||
1 |
рад |
Перевод угла в радианы |
+ |
+ |
+ |
+ |
||||||||
2 |
град |
Перевод угла в градусы |
+ |
+ |
+ |
+ |
||||||||
3 |
sin |
Синус |
+ |
+ |
+ |
+ |
||||||||
4 |
cos |
Косинус |
+ |
+ |
+ |
+ |
||||||||
5 |
tg |
Тангенс |
+ |
+ |
+ |
+ |
||||||||
6 |
X2 |
Квадрат числа |
+ |
+ |
+ |
+ |
||||||||
7 |
p |
Число p |
+ |
— |
+ |
+ |
||||||||
8 |
arcsin |
Арксинус |
+ |
+ |
+ |
+ |
||||||||
9 |
arccos |
Арккосинус |
+ |
+ |
+ |
+ |
||||||||
10 |
arctg |
Арктангенс |
+ |
+ |
+ |
+ |
||||||||
11 |
1/X |
Обратная величина |
+ |
+ |
+ |
+ |
||||||||
12 |
Ö |
Корень квадратный |
+ |
+ |
+ |
+ |
||||||||
13 |
ex |
Показательная функция с основанием «e» |
+ |
+ |
+ |
+ |
||||||||
14 |
lg |
Десятичный логарифм |
+ |
+ |
+ |
+ |
||||||||
15 |
ln |
Натуральный логарифм |
+ |
+ |
+ |
+ |
||||||||
16 |
XY |
Число X в степени Y |
+ |
+ |
— |
+ |
||||||||
17 |
Вх |
Возвращение предыдущего числа |
+ |
+ |
— |
+ |
||||||||
18 |
10x |
Показательная функция с основанием «10» |
+ |
+ |
+ |
+ |
||||||||
|
«1.
Тригонометрические гиперболические функции» |
|||||||||||||
19 |
abs |
Абсолютная величина |
+ |
+ |
+ |
+ |
||||||||
20 |
rnd |
Генерация случайного числа. Если число равно 1, то результат вещественный в диапазоне от 0 до 1; если число целое положительное, то результат — целое от 0 до заданного числа; если число целое отрицательное, то результат в диапазоне от этого числа до такого же положительного числа |
+ |
— |
— |
— |
||||||||
21 |
dms |
Перевод формата числа из обычного в формат DMS (Град°Мин’Сек) |
+ |
— |
— |
+ |
||||||||
22 |
round |
Округление числа до целого (числа в формате DMS округляются до целых секунд) |
+ |
— |
+ |
+ |
||||||||
23 |
sinh |
Гиперболический синус |
+ |
+ |
+ |
+ |
||||||||
24 |
cosh |
Гиперболический косинус |
+ |
+ |
+ |
+ |
||||||||
25 |
tgh |
Гиперболический тангенс |
+ |
+ |
+ |
+ |
||||||||
26 |
X3 |
Куб числа |
+ |
+ |
+ |
+ |
||||||||
27 |
e |
Число Эйлера |
+ |
— |
+ |
+ |
||||||||
28 |
arcsinh |
Гиперболический
арксинус |
+ |
+ |
+ |
+ |
||||||||
29 |
arccosh |
Гиперболический арккосинус |
+ |
+ |
+ |
+ |
||||||||
30 |
arctgh |
Гиперболический арктангенс |
+ |
+ |
+ |
+ |
||||||||
31 |
mod |
Остаток от деления целых чисел |
+ |
— |
— |
— |
||||||||
32 |
3Ö |
Кубический корень |
+ |
+ |
+ |
+ |
||||||||
33 |
X! |
Факториал числа |
+ |
— |
+ |
— |
||||||||
|
«2. Обратные
тригонометрические и показательные функции» |
|||||||||||||
34 |
sec |
Секанс |
+ |
+ |
+ |
+ |
||||||||
35 |
csec |
Косеканс |
+ |
+ |
+ |
+ |
||||||||
36 |
ctg |
Котангенс |
+ |
+ |
+ |
+ |
||||||||
37 |
ln10 |
Натуральный логарифм 10 |
+ |
— |
+ |
+ |
||||||||
38 |
arcsec |
Арксеканс |
+ |
+ |
+ |
+ |
||||||||
39 |
arccsec |
Арккосеканс |
+ |
+ |
+ |
+ |
||||||||
40 |
arcctg |
Арккотангенс |
+ |
+ |
+ |
+ |
||||||||
41 |
e-x |
Обратная показательная функция с основанием «e» |
+ |
+ |
+ |
+ |
||||||||
42 |
lgX-1 |
Десятичный логарифм обратной величины аргумента |
+ |
+ |
+ |
+ |
||||||||
43 |
lnX-1 |
Натуральный логарифм обратной величины аргумента |
+ |
+ |
+ |
+ |
||||||||
44 |
10-x |
Обратная показательная функция с основанием «10» |
+ |
+ |
+ |
+ |
||||||||
45 |
Гипот |
Гипотенуза (корень из суммы квадратов регистров стека «X» и «Y» |
+ |
+ |
+ |
+ |
||||||||
|
«3. Обратные
гиперболические тригонометрические функции» |
|||||||||||||
46 |
sech |
Гиперболический секанс |
+ |
+ |
+ |
|
||||||||
47 |
csech |
Гиперболический косеканс |
+ |
+ |
+ |
|
||||||||
48 |
ctgh |
Гиперболический котангенс |
+ |
+ |
+ |
|
||||||||
49 |
lge |
Модуль десятичных логарифмов |
+ |
— |
+ |
|
||||||||
50 |
arcsech |
Гиперболический арксеканс |
+ |
+ |
+ |
|
||||||||
51 |
arcсsech |
Гиперболический арккосеканс |
+ |
+ |
+ |
|
||||||||
52 |
arcctgh |
Гиперболический арккотангенс |
+ |
+ |
+ |
|
||||||||
|
«4. Интегральные функции» |
|||||||||||||
53 |
Si |
Интегральный синус |
+ |
— |
+ |
— |
||||||||
54 |
Ci |
Интегральный косинус |
+ |
+ |
+ |
— |
||||||||
55 |
γ |
Постоянная Эйлера-Маскерони |
+ |
— |
+ |
+ |
||||||||
56 |
div |
Целочисленное деление |
+ |
— |
— |
+ |
||||||||
57 |
Ei |
Интегральная показательная функция |
+ |
+ |
+ |
— |
||||||||
58 |
Li |
Интегральный натуральный логарифм |
+ |
+ |
+ |
+ |
||||||||
|
«5.
Гиперболические интегральные функции» |
|||||||||||||
59 |
Shi |
Гиперболический интегральный синус |
+ |
— |
+ |
— |
||||||||
60 |
Chi |
Гиперболический интегральный косинус |
+ |
— |
+ |
— |
||||||||
«6. Ряды и дроби» |
||||||||||||||
61 |
Bnдр |
Число Бернулли в виде целочисленной дроби |
+ |
— |
— |
— |
||||||||
62 |
Bn |
Число Бернулли в виде десятичного числа |
+ |
— |
— |
+ |
||||||||
63 |
En |
Число Эйлера |
+ |
— |
— |
+ |
||||||||
64 |
eps |
Машинная точность при действующем разряде цифр |
+ |
— |
— |
+ |
||||||||
65 |
период |
Вычисление периода десятичной функции |
+ |
— |
— |
+ |
||||||||
66 |
дробь |
Перевод числа Бернулли в целую дробь |
+ |
— |
— |
+ |
||||||||
67 |
число |
Перевод целой дроби в число Бернулли |
+ |
— |
— |
+ |
||||||||
68 |
zn |
Элемент ряда при определении числа Бернулли |
+ |
— |
— |
+ |
||||||||
|
«7. Правильные
многоугольники и многогранники» |
|||||||||||||
69 |
Aопм |
Длина ребра правильного описанного многогранника от радиуса сферы |
+ |
— |
— |
+ |
||||||||
70 |
Aвпм |
Длина ребра правильного вписанного многогранника от радиуса сферы |
+ |
— |
— |
+ |
||||||||
71 |
Aмн.гр |
Длина ребра правильного вписанного многогранника от площади многогранника |
+ |
— |
— |
+ |
||||||||
72 |
Aмн.грV |
Длина ребра правильного вписанного многогранника от объёма многогранника |
+ |
— |
— |
+ |
||||||||
73 |
Rоп |
Радиус описанной окружности правильного многоугольника |
+ |
— |
— |
+ |
||||||||
74 |
Rвп |
Радиус вписанной окружности правильного многоугольника |
+ |
— |
— |
+ |
||||||||
75 |
Sмн.уг |
Площадь правильного многоугольника |
+ |
— |
— |
+ |
||||||||
76 |
Rопм |
Радиус описанной сферы правильного многогранника |
+ |
— |
— |
+ |
||||||||
77 |
Rвпм |
Радиус вписанной сферы правильного многогранника |
+ |
— |
— |
+ |
||||||||
78 |
Sмн.гр |
Площадь правильного многогранника |
+ |
— |
— |
+ |
||||||||
79 |
Vмн.гр |
Объём правильного многогранника |
+ |
— |
— |
+ |
||||||||
80 |
Aоп |
Длина стороны описанного многоугольника |
+ |
— |
— |
+ |
||||||||
81 |
Aвп |
Длина стороны вписанного многоугольника |
+ |
— |
— |
+ |
||||||||
82 |
Aмн.уг |
Длина стороны многоугольника от площади |
+ |
— |
— |
+ |
||||||||
|
«8. Матрицы» |
|||||||||||||
83 |
Дет A |
Вычисление определителя матрицы |
+ |
— |
— |
— |
||||||||
84 |
СЛУ A |
Вычисление корней СЛУ, заданной матрицей |
+ |
— |
— |
— |
||||||||
85 |
Дет At |
Вычисление определителя разложенной матрицы |
+ |
— |
— |
— |
||||||||
86 |
СЛУ At |
Вычисление корней СЛУ, заданной разложенной матрицей |
+ |
— |
— |
— |
||||||||
87 |
|
|
|
|
|
|
||||||||
88 |
At |
Разложение матрицы на модифицированную и дополнительную матрицу-вектор |
+ |
— |
— |
— |
||||||||
89 |
Ainv |
Преобразование матрицы в обратную |
+ |
— |
— |
— |
||||||||
90 |
As |
Создание матрицы-вектора из простых чисел |
+ |
— |
— |
— |
||||||||
91 |
|A|1 |
Норма 1 матрицы |
+ |
— |
— |
— |
||||||||
92 |
|A|2 |
Норма 2 матрицы |
+ |
— |
— |
— |
||||||||
93 |
|A|2 |
Норма 3 матрицы |
+ |
— |
— |
— |
||||||||
94 |
An |
Возведение квадратной матрицы в степень n |
+ |
— |
— |
— |
||||||||
95 |
A’ |
Транспонирование матрицы |
+ |
— |
— |
— |
||||||||
|
«9. Комплексные
числа» |
|||||||||||||
96 |
|X| |
Модуль комплексного числа |
+ |
+ |
— |
+ |
||||||||
97 |
R=>Z |
Преобразование вещественного числа в комплексное |
+ |
+ |
— |
+ |
||||||||
98 |
Z=>R |
Преобразование комплексного числа в вещественное (отбрасывание мнимой части) |
+ |
+ |
— |
+ |
||||||||
99 |
-X |
Изменение знака комплексного числа |
+ |
+ |
— |
+ |
||||||||
100 |
Сопр |
Преобразование комплексного числа в сопряжённое |
+ |
+ |
— |
+ |
||||||||
101 |
Re |
Действительная часть комплексного числа |
+ |
+ |
— |
+ |
||||||||
102 |
Im |
Мнимая часть комплексного числа |
+ |
+ |
— |
+ |
||||||||
103 |
X+iY |
Компиляция комплексного числа из действительной (регистр «Y» стека) и мнимой (регистр «X» стека) частей. Сначала вводится действительная часть, затем мнимая |
+ |
+ |
— |
+ |
||||||||
104 |
Arg |
Аргумент комплексного числа |
+ |
+ |
— |
+ |
||||||||
«11.
Физические свойства материалов» |
||||||||||||||
105 |
Плотн |
Вывод плотности материала |
+ |
— |
— |
— |
||||||||
106 |
Eупр |
Вывод модуля упругости материала |
+ |
— |
— |
— |
||||||||
107 |
Kпуасс |
Вывод коэффициента Пуассона материала |
+ |
— |
— |
— |
||||||||
108 |
Sтек |
Вывод предела текучести материала |
+ |
— |
— |
— |
||||||||
109 |
Sпрочн |
Вывод предела прочности материала |
+ |
— |
— |
— |
||||||||
110 |
Kтепл |
Вывод коэффициента теплопроводности материала |
+ |
— |
— |
— |
||||||||
111 |
Kлин |
Вывод коэффициента линейного расширения материала |
+ |
— |
— |
— |
||||||||
112 |
Qтепл |
Вывод удельной теплоёмкости материала |
+ |
— |
— |
— |
||||||||
* —данная функция вычисляется для каждого элемента матрицы и записывается в матрицу.
Гиперболические и обратные гиперболические функции вычисляются для главного значения аргумента.
Приводится программа по решению задачи цилиндрического изгиба длинной, свободно опёртой пластинки, взятой из [2].
Особенностью программы является использование процедуры «К_МЮЛ» (нахождение корней функции по методу Мюллера).
Ниже приводится листинг программы.
Рис. 22.3.1.1
Работа программы реализована таким образом, что после одного расчёта можно сразу приступить к расчёту с другими данными и так до тех пор, пока пользователь не введёт цифру «0».
В результате работы программа выдала таблицу, изображенную на рисунке:
Рис. 22.3.1.2
Небольшое расхождение результатов с книгой (стр. 21 и 22 [2]) объясняются тем, что параметр «u» автор книги определял графически по приведённой в книге номограмме, т. е. с большой погрешностью, а процедура «К_МЮЛ» вычислила этот параметр с гораздо большой точностью.
;Программа_создания_графика ;_sin(x)_и_cos(x) ; 2 5 П 0 F_Р П 2 F_КЛЮЧ 2 1 5 L F_Pi 1 2 / QL /-/ П 1 ИП 1 F_КЛЮЧ 2 1 5 L F_Pi 1 2 / QL + П 1 F_КЛЮЧ 2 &X_Угол_(градусы) #Угол_(градусы) L &X_Угол_(радианы) #Угол_(радианы) QL F_sin &Y_sin #sin_= F_Вх F_cos &Y_cos #cos_=# F_L0 23 F_Ret С/П.
Данная программа создаёт одновременно графики функций sin(x), cos(x) и таблицу значений этих функций. В зависимости от положения переключателя «Р↔Г» значения по оси «X» будут в «градусах» или «радианах». Для загрузки программы скопируйте её через буфер из «Руководства…» в МПК в режиме программирования.
Таблица. 22.3.3.1
№ |
Тип данных |
Текст для |
Нажата кнопка «DMS» или «1\3» |
Показания дисплея ПМК после вставки |
Примечания |
1 |
Десятичная дробь |
3,14159265358979324 |
— |
3,14159265358979324 |
|
2 |
Комплекс с десятичной дробью |
1,234+i2,345 |
— |
1,234+i2,345 |
|
3 |
Число с плавающей запятой |
1,23456789012345E-3 |
— |
1,23456789012345E-3 |
|
4 |
Комплекс с плавающей запятой |
1,234E-3+i2,345E4 |
— |
1,2340[..]+i2,3450 |
|
5 |
Число в формате DMS |
15°50'26,456789 |
— |
15,8406824413888889 |
Знак градуса: Alt+176, минут: Alt+39 |
6 |
Число в формате DMS |
15°50'26,456789 |
DMS |
15°50'26,456789 |
—“— |
7 |
Число в формате DMS |
0,1° |
— |
0°06'00 |
—“— |
8 |
Комплекс в формате DMS |
30°45'23+i47°23'56 |
— |
30,7563888[..]
+i47,3988888[..] |
—“— |
9 |
Комплекс в формате DMS |
30°45'23+i47°23'56 |
DMS |
30°45'23+i47°23'56 |
—“— |
10 |
Простая дробь |
27\59 |
— |
4,57627118644067797E-0001 |
|
11 |
Простая дробь |
27\59 |
1\3 |
27\59 |
|
12 |
Комплекс с простыми дробями |
2\3+i3\4 |
— |
6,6666[..]+i7,5000[..]E-1 |
|
13 |
Комплекс с простыми дробями |
2\3+i3\4 |
1\3 |
2\3+i3\4 |
|
14 |
Матрицы |
((-3; 6; -1); (-10; 4; -7); (-2; -10; -9)) |
— |
Матрица 2D
3x3 |
|
15 |
Программа |
См. 20.3.2 |
— |
— |
В режиме программирования |
Таблица. 22.4.1
Номер |
Команда |
Номер |
Режим |
Описание |
1.
|
0 |
0—11 |
А+П |
Ввод
цифры |
2.
|
1 |
0—11 |
А+П |
—“— |
3.
|
2 |
0—11 |
А+П |
—“— |
4.
|
3 |
0—11 |
А+П |
—“— |
5.
|
4 |
0—11 |
А+П |
—“— |
6.
|
5 |
0—11 |
А+П |
—“— |
7.
|
6 |
0—11 |
А+П |
—“— |
8.
|
7 |
0—11 |
А+П |
—“— |
9.
|
8 |
0—11 |
А+П |
—“— |
10.
|
9 |
0—11 |
А+П |
—“— |
11.
|
+ |
0—11 |
А+П |
Суммирование регистров Y и X |
12.
|
- |
0—11 |
А+П |
Вычитание регистров Y и X |
13.
|
* |
0—11 |
А+П |
Умножение регистров Y и X |
14.
|
/ |
0—11 |
А+П |
Деление регистров Y и X |
15.
|
XY |
0—11 |
А+П |
Обмен регистров Y и X |
16.
|
В |
0—11 |
А+П |
Ввод числа в стек с передвижением
всего стека |
17.
|
. |
0—11 |
А+П |
Ввод десятичного знака |
18.
|
/-/ |
0—11 |
А+П |
Замена знака у числа на дисплее и в регистре
стека X1 |
19.
|
E |
0—11 |
А+П |
Ввод знака экспоненты |
20.
|
Cx |
0—11 |
А+П |
Обнуление дисплея и регистра стека X1 |
21.
|
F_10^x |
0 |
А+П |
Показательная функция с основанием «10» |
22.
|
F_e^x |
0 |
А+П |
Показательная функция с основанием «e» |
23.
|
F_lg |
0 |
А+П |
Десятичный логарифм |
24.
|
F_ln |
0 |
А+П |
Натуральный логарифм |
25.
|
F_arcsin |
0 |
А+П |
Арксинус |
26.
|
F_arccos |
0 |
А+П |
Арккосинус |
27.
|
F_arctg |
0 |
А+П |
Арктангенс |
28.
|
F_sin |
0 |
А+П |
Синус |
29.
|
F_cos |
0 |
А+П |
Косинус |
30.
|
F_tg |
0 |
А+П |
Тангенс |
31.
|
F_Pi |
0 |
А+П |
Число p |
32.
|
F_sqrt |
0 |
А+П |
Корень квадратный |
33.
|
F_x^2 |
0 |
А+П |
Квадрат числа |
34.
|
F_1/x |
0 |
А+П |
Обратная величина |
35.
|
F_x^y |
0 |
А+П |
Число X в степени Y |
36.
|
F_O |
0-11 |
А+П |
Передвижение в стеке |
37.
|
F_Вх |
0-11 |
А+П |
Предыдущий результат |
38.
|
П |
0-9 |
А+П |
Запись в регистр, указанный за этой
командой |
39.
|
ИП |
0-9 |
А+П |
Извлечение из регистра, указанного за
этой командой |
40.
|
F_X<0 |
0 |
П |
Переход по указанному условию на
адрес, указанный после этой команды |
41.
|
F_X=0 |
0 |
П |
—“— |
42.
|
F_X>=0 |
0 |
П |
—“— |
43.
|
F_X<>0 |
0 |
П |
—“— |
44.
|
F_ЦИКЛ |
0 |
П |
Организация цикла со счётчиком в
регистре, указанным после этой команды |
45.
|
К_НОП |
0 |
П |
Нет
операции |
46.
|
К_БП |
0 |
П |
Косвенный безусловный переход по адресу,
содержащимся в регистре, указанном после этой команды |
47.
|
К_ПП |
0 |
П |
Косвенный переход на подпрограмму по
адресу, содержащимся в регистре, указанном после этой команды |
48.
|
К_X<0 |
0 |
П |
Косвенный переход по указанному
условию на адрес, указанный после этой команды |
49.
|
К_X=0 |
0 |
П |
—“— |
50.
|
К_X>=0 |
0 |
П |
—“— |
51.
|
К_X<>0 |
0 |
П |
—“— |
52.
|
К_П |
0 |
П |
Косвенная запись в регистр, номер
которого содержится в регистре, указанном после этой команды. Если число
комплексное, то модификация происходит с увеличением или уменьшением на 2 (в
зависимости от региона регистра) |
53.
|
К_ИП |
0 |
П |
Косвенное извлечение из регистра,
номер которого содержится в регистре, указанном после этой команды. Если
число комплексное, то модификация происходит с увеличением или уменьшением на
2 (в зависимости от региона регистра) |
54.
|
С/П |
0 |
А+П |
Стоп и старт программы |
55.
|
БП |
0 |
А+П |
Безусловный переход по адресу,
указанному после этой команды |
56.
|
В/0 |
0 |
А+П |
Возврат из подпрограммы |
57.
|
ПП |
0 |
А+П |
Вызов подпрограммы по адресу,
указанному после этой команды |
58.
|
К_ДИФ |
0 |
П |
Вызов процедуры решения системы
дифференциальных уравнений методом Рунге—Кутта—Флетчера (перед вызовом требуется
заполнение структуры — в файле данных или в самой программе) |
59.
|
К_ОПТ |
0 |
П |
Вызов процедуры поиска оптимальных
значений для нахождения максимума или минимума целевой функции методом Нелдера—Мида
(перед вызовом требуется заполнение структуры — в файле данных или в самой программе) |
60.
|
К_ГАУ |
0 |
П |
Вызов процедуры решения системы
нелинейных уравнений методом Нелдера—Мида (перед вызовом требуется заполнение
структуры — в файле данных или в самой программе) |
61.
|
; |
— |
П |
Ввод комментария |
62.
|
К_СИМ |
0 |
П |
Вызов процедуры определения значения
определённого интеграла методом Симпсона (перед вызовом требуется заполнение
структуры — в файле данных или в самой программе) |
63.
|
К_F_ЦИКЛ |
0 |
П |
Организация цикла со счётчиком в
регистре, номер которого содержится в регистре, указанном после этой команды |
64.
|
F_КЛЮЧ |
0 |
П |
Переключатель ветвей программы,
работающий по значению регистра, указанного за этой командой |
65.
|