Конфигурация устройств ввода-вывода Турбо Паскаля - Программирование в среде Turbo Pascal

Результаты работы программы и исходные данные могут быть записаны в файлы на диске, с помощью специальных процедур работы с файлами прямо из программы.

В Турбо Паскале ввод-вывод информации осуществляется через файловые переменные (ФП).

ФП - это переменная, имеющая файловый тип (ФТ).

ФТ состоит из последовательности компонентов определенного типа. Тип каждой компоненты произволен (за исключением файлового типа). При описании компонент файлового типа число компонент заранее не устанавливается.

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

Файловый тип - единственный в Турбо Паскале, посредством которого данные, обрабатываемые в программе, могут быть получены извне, а результаты работы программы помещены (переданы) во внешний мир. Файловый тип связывает программу с внешними устройствами персонального компьютера.

До того как ФП будет использована, ей должен быть поставлен в соответствие внешний файл путем вызова специальной процедуры assign.

Внешний файл - это или поименованный дисковый файл, или устройство ввода-вывода типа клавиатуры, дисплея и т. п. Для выполнения операции ввода-вывода ФП после установки соответствия с внешним файлом должна быть "открыта". Уже существующий файл может быть открыт с помощью процедуры Reset. Новый файл открывается с помощью процедуры Rewrite.

Существуют три способа задания файлового типа и соответственно три вида файлов: типизированные, текстовые и нетипизированные. Мы будем работать с текстовыми файлами.

В текстовых файлах:

Информация представляется в текстовом виде (коды ASCII);

Информация разделена на строки;

Конец файла обозначен явно;

При записи чисел они преобразуются в текстовый вид.

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

1. До работы с файлом его необходимо объявить. Объявление текстового файла всегда производится в разделе var.

Var

F: text

2. Открытие файла для записи или чтения.

Assign(f, FName);

Rewrite(f);Reset(f)

Процедура Assign ставит в соответствие файловой переменной f имя внешнего файла FName. Все последующие операции с переменной f будут производиться над внешним файлом с именем FName. Имя файла может содержать маршрут. Процедуру нельзя применять, если файл открыт. Если в качестве имени задать пустую строку, то это означает связывание ввода/вывода с консолью (клавиатура или дисплей).

Процедура Rewrite(f) создает новый файл и открывает его. Если внешний файл с таким именем уже существует, то он будет уничтожен, и на его месте будет создан новый пустой файл с тем же именем. Указатель текущей позиции устанавливается в начало пустого файла. При создании нового файла будьте осторожны, чтобы не уничтожать нужную информацию.

3. Запись данных.

Writeln(f, <список ввода>);

F означает, что поток данных будет направляться на конкретные физические устройства компьютера, связанные в данный момент с логическими именем этого файла. Если f - отсутствует, то вывод осуществляется на экран дисплея.

4. Закрытие открытого файла.

Close (f)

После этого логическое имя может быть использовано повторно.

Пример:

Program ex_4;

Var

F: text;

BEGIN

Assign(f,'E:STUDENT|ab. pas');

Rewrite(f)

Writeln(f,'работаем с текстовым файлом');

Close (f);

END.

Приложение 3

Работа с интегрированной программной средой MathCAD

Данная математическая программная система предназначена для выполнения самых разнообразных математических вычислений.

Интегрированная система (ИС) - это программа, в которую входя функционально различные компоненты, способные взаимодействовать между собой путем передачи информации и объединенные единым унифицированным пользовательским интерфейсом.

Осуществляет ввод и редактирование текста. Используются общепринятые в математике символы.

Обеспечивает вычисления по сложным математическим формулам, имеет большой набор встроенных математических функций, к которым относятся: обработка числовых последовательностей, численное интегрирование, дифференцирование, минимизация функций, решение линейных и нелинейных уравнений, векторные и матричные операции, линейная и сплайн интерполяция, прямое и обратное преобразование Фурье, статистические расчеты. Легко меняется разрядность чисел и погрешности итерационных методов.

Позволяет строить графики в линейном или логарифмическом масштабах. На графики может быть нанесена масштабная сетка с любым числом делений. График легко перемещается по экрану, размеры его могут быть быстро изменены, возможно наложение на график текста.

Представляет собой комплекс программных средств, обеспечивающих взаимодействие пользователя с системной MathCAD.

Загрузка системы в память компьютера происходит с помощью команды >mcad. exe. Выход из системы - Quit (^Q).

После загрузки системы на экране дисплея появляется окно системы. При нажатии на клавишу F10 в верхней полоске экрана появляется главное меню системы, с помощью которого можно управлять работой всей системы MathCAD.

Команда File/Load[F5] из главного меню позволяет загрузить нужный вам файл.

Записать (сохранить) документ можно с помощью команды File/Save[F6].

Задание графического режима - нажатие на клавишу @, после чего на экран выводится шаблон графика:

Для задания локального графического формата надо ввести курсор внутрь шаблона (он примет вид латинской буквы L), после чего нажать на клавишу F (команда FORMAT). В верхней полоске меню появляется параметры команды графического режима, которые можно отредактировать нужным вам образом.

Параметры команды графического режима

Log y, x - указывает логарифмический или линейный масштаб графика ( 0 - линейный)

Subdivs y, x - задает число делений масштабной сетки по вертикали и горизонтали

(1 - масштабная сетка не выводится)

Size y, x - определяет размер графика в знакоместах

Type - задает тип линии, с помощью которой строится кривая.

Отредактируйте в командной строке параметры команды графического режима и нажмите клавишу Enter.

Формат: logs = 0,0 subdivs = 1.1 size 10,20 type I

Вывести графический шаблон - вывести курсор на свободное место и нажать @. Происходит подключение графического блока.

Для изменения внешнего вида графика можно работать с командой FORMAT, как это описано выше.

Реализация разветвляющегося алгоритма (встроенная условная функция if)

Формат:

If (<усл>,<выр1>,<выр2>) - возвращает значение <выр1>, если условие выполняется, и значение <выр2>, в противном случае.

Условие - это переменная, const или выражение, соединенные операциями отношения.

Пример реализации разветвляющегося алгоритма

Построим график функции, заданный двумя ветвями

В окне текстового редактора системы MathCAD необходимо набрать

График, реализованный тремя ветвями

Построение графика функции

Файлы данных в MathCAD

MathCAD позволяет организовать обмен данными с другими системами или программами. Для организации такого обмена используются файлы - именованные совокупности данных, хранящиеся на диске.

ИС MathCAD может обрабатывать файлы, содержащие наборы чисел в формате ASCII - кодов, доступ к которым осуществляется строго последовательно. Если есть на диске файл данных, то можно с помощью функции REDPRN (имя файла) прочитать этот файл в оперативную память для его дальнейшей обработки, в частности для построения графика. Необходимо, чтобы файл данных находился в текущем каталоге и имел расширение. prn.

Документ обмена с файлами Pascal-программы и далее следует построение графика.

Приложение 4

Формирование массива отсчетов входного сигнала

Решение этой задачи зависит от способа задания входного сигнала Uвх(t).

Задание входного сигнала в виде одного аналитического выражения (вариант с кодами А = 05...08). Решение этой задачи представляет собой линейный вычислительный процесс.

Задание входного сигнала Uвх(t) в виде нескольких аналитических выражений, каждое из которых относится к одному из подынтервалов области [tкон, tнач]. Рабочая часть цикла для этого способа будет представлять собой разветвляющийся вычислительный процесс (варианты с кодами А = 09...19).

Задание входного сигнала Uвх(t) в виде суммы функций (варианты с кодами А = 20...23). В этом случае рабочая часть цикла представляет собой арифметический цикл для расчета по рекуррентной формуле (вычисление суммы). Для реализации такого случая используются вложенные циклы, где внешний цикл задает значения времени, а внутренний цикл для каждого момента времени вычисляет сумму значений отдельных функций.

Замечание: При работе с вложенными циклами необходимо помнить несколько правил:

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

Предложения, расположенные в программе перед вложенной структурой циклов for, выполняются один раз до входа в цикл (например, установка в ноль некоторого счетчика, соответствующего начальному состоянию перед накоплением суммы).

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

Задание входного сигнала Uвх(t) в виде графика (варианты с кодами А = 00...04). В этом случае программист вручную составляет аналитическое выражение (или аналитические выражения), соответствующее графику Uвх(t). После этого задача формирования массива отсчетов входного сигнала Uвх(t) решается одним из рассмотренных ранее способов (см. пример расчета курсовой работы).

Приложение 5

Формирование массива отсчетов выходного сигнала Uвых(t)

При решении этой задачи необходимо организовать арифметический цикл. В этом цикле для каждого элемента массива входного сигнала Uвх(I) вычисляется значение соответствующего ему элемента массива выходного сигнала Uвх(I).

Решение этой задачи зависит от способа задания передаточной характеристики электрической цепи.

Задание передаточной характеристики в виде аналитического выражения Uвых = f (Uвх) (варианты с кодами Б = 05...07).

Задание передаточной характеристики в виде нескольких аналитических выражений (варианты с кодами Б = 00...04). В этом случае рабочая часть цикла, предназначенная для формирования массива Uвых, содержит разветвляющий алгоритм.

Задание передаточной характеристики в виде графика (варианты с кодами Б = 08...10). В этом случае программист перед составлением программы должен вручную по графику функции составить аналитические выражения, соответствующие заданному графику передаточной характеристики (см. пример расчета курсовой работы).

Приложение 6

Определение заданных характеристик W выходного сигнала Uвых(t)

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

Амплитудные характеристики

Максимум (минимум) сигнала

(для вариантов с кодами В=00 и 01).

Разность D между максимальным Umax и минимальным Umin

(для вариантов с кодом В=02).

Временные характеристики

Длительность импульса tи=t2-t1

график выходного сигнала для вычисления величины tи

Рис. 5. График выходного сигнала для вычисления величины tи

Как видно из рис. 5 при определении величин t2 и t1 значение величины берется равным 0,5Umax. Отсюда следует, что нахождение величины tи состоит из следующих этапов:

Определение величины Umax и определение величины ;

Определение величин t1 и t2;

Нахождение длительности импульса tи=t2-t1 (для варианта с кодом В=03).

Приложение 7

Методические указания по выполнению контрольного расчета

Основные рекомендации по выполнению контрольного расчета заключаются в следующем:

Точность вычислений при выполнении контрольного расчета - не менее четырех знающих цифр;

Результаты вычислений контрольного расчета следует оформить в виде таблицы вычислений и графиков (с соблюдением масштаба);

Нельзя выбирать значения исходных данных, приводящие к появлению сомножителей, равных 0 или 1, слагаемых, равных 0;

Для выявления ошибок в разветвляющихся алгоритмах, содержащих "n" ветвей, необходимо, чтобы в процессе отладки вычисления по каждой из ветвей были выполнены хотя бы по одному разу;

Для выявления ошибок в арифметических циклах контрольный набор исходных данных должен быть выбран таким, чтобы циклы выполнялись, по крайней мере, 2...3 раза.

Приложение 8

Варианты задания входного сигнала Uвх(t), электрической цепи и вычисляемых характеристик. Приведены таблицы, с помощью которых определяется вариант задания к курсовой работе.

Задания входного сигнала в виде графика

Таблица 4

00

Tнач = 0,5c

Tм = 2,5c

Tкон = 6с

Uм = 20,5В

01

U = 30B

Tнач = 12c

T1 = 20c

T2 = 60c

Tкон = 70с

02

U = 50B

Tнач = 10c

T1 = 25c

T2 = 30c

T3 = 70c

Tкон = 80с

03

U1 = 100B

U2 = 80B

Tнач = 10c

T1 = 22c

T2 = 70c

Tкон = 90с

04

U = 75B

Tнач = 20c

T1 = 30c

T2 = 45c

Tкон = 90с

Задание входного сигнала в виде аналитических выражений

КодА

Входной сигнал

Рабочий набор данных

05

Tнач = П с; tкон = 2П с; U0 = 2 B; U = 3 B

06

Tнач = 0 с; tкон = 2 с; U0 = 5 B; U = 2 B

07

Tнач = 1 с; tкон = 10 с; ;B/c;

08

Tнач = 0 с; tкон = П с;

09

A = 12 В/с; b = 12 В/с; ; ;

10

A = 12 В/с; b = 48 В/с; ; ;

11

A = 10 В/с; b = 10 В/с; ; ; ;

12

A = 10 В/с; b = 5 В/с; ; ; ;

13

A = 10 В/с; b = 10 В/с; ; ; ; ;

14

U = 7 В;

15

U = 4 В;

16

U = 6 В;

17

U = 5 В;

18

U = 4 В;

19

U = 6 В;

20

K=3; ; ;; ; Т = 1 с

21

K=5; ; ;; ; ; ; Т = 1 с

22

K=2; ;;; T = 3 c

23

K=4; ; ;; ; ; Т = 2 с

Задание передаточной характеристики в виде аналитических выражений

КодБ

Входной сигнал

Рабочий набор данных

00

Uвх =3,3 В

01

A = 21/B, b = - 5 B, Uвх1 = 20 B

02

A = 2.5 1/B, b = 10 B, Uвх1 = 10 B, Uвх2 = 30 B

03

A = 5 B, b = 0.05 , Uвх1 = 10 B

04

Uвх1 = 2 B

05

A = 1.5

06

A = 5 B, b = 0.5 1/B

07

A = 2 , b = 4 1/B, c = -1 B

Задание передаточной характеристики в виде графика

КодБ

Передаточная характеристика

Рабочий набор исходных данных

08

U = 100B, Uвх1 = 5 B, Uвх2 = 10 B

09

Uвх1 = 5 B, U1 = 20 B, Uвх2 = 25 B, U2 = 150 B

10

U0 = 5 B, U1 = 10 B, U2 = 50 B, Uвх1 = 10 B, Uвх2 = 40 B

Задание вариантов вычисляемых характеристик выходного сигнала

Таблица 6

Код В

Характеристика

Рабочий набор

00

Максимальное значение выходного сигнала

01

Минимальное значение выходного сигнала

02

Разность между максимальным и минимальным значением сигнала

03

Длительность импульса

Приложение 9

Определение варианта курсовой работы

Таблица 7

N, m, p

Код А

Код Б

Код В

0

00

02

02

1

05

05

01

2

08

04

00

3

09

08

03

4

10

09

01

5

11

03

02

6

12

04

00

7

13

01

00

8

01

00

01

9

06

05

02

Пояснение к таблице 7

Ваша курсовая работа определяется значениями кодов А, Б, В. Величины m, n, p определяются тремя последними цифрами вашего студенческого билета. Например, для студенческого билета, имеющего три последние цифры 094, вариант курсовой работы определяется следующим образом: n = 0код А = 00, m = 9код Б = 05, p = 4код В = 01

Похожие статьи




Конфигурация устройств ввода-вывода Турбо Паскаля - Программирование в среде Turbo Pascal

Предыдущая | Следующая