Продемонстрируйте различные способы использования функций, связанных с PRN, чтобы увидеть влияние переменных системы PRN на создание файлов .prn.
1. На вкладке Форматирование формул (Math Formatting) в группе Результаты (Results) выберите для параметра Точность отображения (Display Precision) значение 10.
2. Используйте функцию identity, чтобы определить матрицу, а затем заполните ее первый столбец числами.
3. Вычислите матрицу M.
Задано значение Точность отображения (Display Precision) 10, поэтому PTC Mathcad ограничивает отображение всех чисел в результатах 10 разрядами десятичной дроби.
PRNPRECISION < PRNCOLWIDTH
1. Вычислите PRNPRECISION и PRNCOLWIDTH, чтобы показать их значения по умолчанию.
2. Используйте функцию WRITEPRN, чтобы записать матрицу M в файл .prn.
3. Используйте функцию READPRN для чтения записанного файла.
Поскольку для PRNPRECISION задано значение 4, числа округляются так, чтобы в результатах отображалось не более 4 ненулевых разрядов. Верхние шесть чисел содержат больше 4 разрядов и округляются до 4 ненулевых разрядов. Число 66.66 содержит точно четыре разряда и поэтому остается неизменным. Число 99.999 также округляется до 4 разрядов и превращается в 100.
4. Откройте файл 1.prn в любом текстовом редакторе и просмотрите его содержимое. Цвета подсветки добавлены, чтобы показать границы столбца, а знаки крышечки добавлены, чтобы показать ширину столбцов.
◦ Каждый столбец матрицы вне зависимости от ширины его элементов данных записывается в соответствующий столбец файла.
◦ Если ширина данных превышает ширину столбца, как в строках 3-5, то данные в соседних столбцах выглядят как смещенные вправо. Это только визуальный эффект, который не влияет на координаты данных строка-столбец.
◦ Поскольку для PRNPRECISION задано значение 4, а для PRNCOLWIDTH значение 8, записанные данные, содержащие четыре или меньше разрядов, умещаются в столбце и отображаются с выравниваем по правому краю. Обратите внимание, что десятичная точка занимает позицию в столбце.
◦ Знак числа также занимает позицию в столбце Если знак числа отрицательный, он печатается слева от числа, как показано в строке 4. Если знак числа положительный, он не печатается и местозаполнитель знака остается пустым, как показано в строках 3 и 5.
◦ Числа, у которых целая часть содержит более 4 разрядов, преобразуются в экспоненциальную нотацию, показывающую 1 разряд целого числа и 3-разрядную десятичную дробь, за которой следует e+показатель степени. Обратите внимание на то, что каждый из этих элементов занимает одну позицию в столбце, как можно видеть в строках 3-5.
PRNPRECISION = PRNCOLWIDTH
1. Задайте для PRNPRECISION значение 8 и запишите матрицу M в другой файл .prn.
2. Используйте функцию READPRN для чтения записанного файла .prn.
Поскольку для PRNPRECISION задано значение 8, числа округляются так, чтобы в результатах отображалось не более 8 разрядов. Верхние шесть чисел содержат больше 8 разрядов и округляются до 8 разрядов. Числа 66.66 и 99.999 содержат меньше 8 разрядов и остаются неизменными.
3. Откройте файл 2.prn в любом текстовом редакторе и просмотрите его содержимое.
◦ Поскольку для PRNPRECISION и PRNCOLWIDTH задано значение 8, записанные данные, имеющие в общей сложности восемь разрядов, не умещаются в столбце из 8 позиций, потому что для знака и десятичной точки требуются две дополнительные позиции. Это заставляет данные в строках 1-4 и 6 визуально сдвигаться на данные в соседних столбцах на 2 позиции.
◦ Для данных в строке 5 требуется 7 дополнительных позиций, что приводит к визуальному сдвигу данных в соседних столбцах вправо на то же число позиций.
◦ Данные в строках 7 и 8 содержат меньше 8 цифр и умещаются в столбце из 8 позиций.
PRNPRECISION > PRNCOLWIDTH
1. Задайте для PRNCOLWIDTH значение 4 и запишите матрицу M в другой файл .prn.
2. Используйте функцию READPRN для чтения записанного файла .prn.
3. Откройте файл 3.prn в любом текстовом редакторе и просмотрите его содержимое.
◦ Поскольку для PRNPRECISION задано значение 8, а для PRNCOLWIDTH - значение 4, записанные данные, содержащие в общей сложности восемь цифр, не умещаются в столбце из 4 позиций.
◦ Для записанных данных в строках 1-4 и 6 требуется 10 позиций, что заставляет данные визуально сдвигать соседние столбцы вправо на то же число позиций.
◦ Для данных в строке 5 требуется 5 дополнительных позиций, что приводит к визуальному сдвигу данных в соседних столбцах вправо на то же число позиций. Каждый столбец был подсвечен, чтобы показать его элементы. Вокруг последнего столбца нарисована рамка.
Слияние строк для создания имени файла, используемого с WRITEPRN
1. Определите матрицу, которая описывает деталь.
2. Извлеките серийный номер детали.
3. Используйте функцию concat, чтобы выполнить слияние для полного пути файла.
4. Используйте WRITEPRN, чтобы записать данные в новый файл.
5. Используйте функцию READPRN для чтения этого файла.
6. Используйте функцию READTEXT для чтения того же файла.
Функция READTEXT возвращает записанные данные в другой форме, чем возвращаемые функцией READPRN.
◦ Верхние четыре строки содержат необработанную информацию и создаются функцией WRITEPRN.
▪ Первая строка содержит информацию об инструменте, который был использован для записи данных.
▪ Вторая строка содержит информацию о дате и времени.
▪ Третья строка пустая.
▪ Четвертая строка содержит размеры исходной матрицы данных.
◦ Пятая строка содержит данные исходной матрицы.
◦ Элементы NaN используются для заполнения всех пустых элементов возвращаемой матрицы.