Реферат: Методические указания к курсовой работе санкт-петербург - Refy.ru - Сайт рефератов, докладов, сочинений, дипломных и курсовых работ

Методические указания к курсовой работе санкт-петербург

Остальные рефераты » Методические указания к курсовой работе санкт-петербург

ИНФОРМАТИКА МЕТОДИЧЕСКИЕ УКАЗАНИЯ К КУРСОВОЙ РАБОТЕ. Губанова Т.В. / СПбГУТ.-СПб, 1998.

Получено с www.vizo

Госкомсвязи России


САНКТ-ПЕТЕРБУРГСКИЙ

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ

им.проф. М.А. БОНЧ-БРУЕВИЧА


Факультет

Вечернего и заочного обучения


Губанова Т.В.


ИНФОРМАТИКА


МЕТОДИЧЕСКИЕ УКАЗАНИЯ

К КУРСОВОЙ РАБОТЕ


САНКТ-ПЕТЕРБУРГ

1998

УДК 681.142.2


Губанова Т.В. Информатика: методические указания к курсовой работе/ СПбГУТ.-СПб, 1998.


План 1998, п.2.


Рекомендовано к печати редакционно-издательской комиссией университета.


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


Ответственный редактор С.В. Козин


Рецензент П.С. Довгий


© Издание Санкт-Петербургского государственного университета телекоммуникаций им. проф. М.А. Бонч-Бруевича, 1998


Редактор И.И. Щенсняк

Подписано к печати 19.01.98. ЛР № 020475 от 29.04.97г.

Объем 1,75 печ. л. Тир. 500 экз. Зак. 12


РИО СПбГУТ. 191186, СПб, наб. р. Мойки, 61

Тип. СПбЦЭ

Введение 4

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

Курсовая работа 4

Расчет на ЭВМ характеристик входных и выходных сигналов электрических цепей 4

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

Приложение 1 13

Приложение 2 17

Приложение 3 18

Приложение 4 21

Приложение 5 21

Приложение 6 21

Приложение 7 22

Приложение 8 22

Приложение 9 26

Литература 27


Введение

Настоящие методические указания предназначены для выполнения курсовой работы «Расчеты на ЭВМ характеристик выходных сигналов электрических цепей» по дисциплине «Информатика».


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

Курсовая работа выполняется в следующей последовательности:

Из приведенной в конце методических указаний табл. 7 (приложение 8) выбирается код варианта задания курсовой работы. Код определяется значениями трех двухразрядных величин А, Б и В.

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

В ходе работы все необходимые записи должны выполняться в рабочей тетради (ученическая тетрадь в клетку). Рабочая тетрадь сдается вместе с пояснительной запиской для проверки и дальнейшей защиты курсовой работы.

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


Выполненная курсовая работа включает в себя следующие пункты:

постановка задачи и описание рабочего набора исходных данных;

таблица идентификаторов, использованных при решении поставленной задачи;

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

текст программы, выполненный на языке Turbo Pascal;

контрольный расчет, выполненный в виде таблицы вычислений и предварительное построение графиков входного и выходного сигналов (ожидаемые графики);

список используемой литературы и содержание пояснительной записи.


Вышеперечисленные пункты присылаются на проверку преподавателю, после чего студент получает доступ к выходу на ЭВМ.

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


Для успешного выполнения курсовой работы студенту необходимо:

повторить теоретический материал, изучавшийся ими при выполнении контрольных работ № 1 и № 2;

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

Новые изучаемые темы:

процедуры и функции (приложение 1);

работа с текстовыми файлами (приложение 2);

работа с интегрированной математической системой MathCAD. Построение графиков (приложение 3).

Курсовая работа Расчет на ЭВМ характеристик входных и выходных сигналов электрических цепей

Постановка задачи


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

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

Вариант задания определяется индивидуальным кодом студента АБВ следующим образом:

величина «А» определяет вид входного сигнала Uвх(t) согласно табл. 4;

величина «Б» определяет вид электрической цепи (или ее передаточную характеристику Uвых(t) = f (Uвх) согласно табл. 5;

величина «В» определяет рассчитываемую характеристику выходного сигнала согласно табл. 6.

Вычисления величин Uвх(t) и Uвых(t) выполнить для N-равноотстоящих моментов времени t, где t[tнач, tкон]. Организовать массивы для хранения Uвх(t) и Uвых(t). Произвести вычисление характеристики W выходного сигнала согласно заданию. Массивы входных и выходных отсчетов записать в текстовые файлы с расширением prn. Содержимое этих файлов использовать для построения графиков в интегрированной математической системе MathCAD.

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


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

Рассматривается вариант А=00; Б=00; В=00. Для этого кода согласно табл. 4-6 задание имеет следующий вид:


Дана нелинейная безынерционная цепь:

Рис. 1. Электрическая цепь


Передаточная характеристика цепи имеет вид (код Б):



На входе этой цепи действует сигнал, (код А), имеющий вид, показанный на рис. 2:



Рис. 2. Входной сигнал для кода А=00


Вычислить Umax – максимальное значение выходного сигнала Uвых(t) (код В=00).

Рабочий набор исходных данных имеет вид:

tнач = 0,5 с; tм = 2,5 с; tкон = 6 с; Uм = 20,5 В; Uвх1 = 3 В.


Решение задачи состоит из пяти самостоятельных частей:

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

вычисление величины заданной характеристики W выходного сигнала (в данном случае такой характеристикой является максимальное значение выходного сигнала);

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

построение графиков входного и выходного сигналов.


Первые четыре части оформляются в виде подпрограмм (процедур или функций). Последняя подзадача - построение графиков – выполняется с помощью интегрированной системы MathCAD.

ЗАМЕЧАНИЕ: ввод исходных данных и вывод результатов решения задачи могут быть оформлены также в виде самостоятельных процедур.


Приведение входного сигнала к аналитическому виду


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



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



Решая эти уравнения, получим для начального участка графика:



Составим аналогичную систему уравнений для второго участка графика, находим:



Подставляя значения соответствующее исходному графику, в выражение для Uвх(t) получим



В результате такого перехода окончательно имеем:


где


Временной интервал наблюдения сигнала ограничен [tнач, tкон]. Для организации массива входных отсчетов сигнала необходимо этот временной интервал разбить на некоторое определенное конечное число точек N, для каждой из которых будет вычислено значение отсчета входного сигнала.

ЗАМЕЧАНИЕ: Массив отсчетов выходного сигнала должен быть в дальнейшем получен из значений выходного сигнала в тех же самых дискретных точках того же самого временного интервала.

Полный текст программы, реализующий решение курсовой работы для варианта А=00, Б=00, В=00, приведен на рис. 3.

Описание идентификаторов, использованных при решении поставленной задачи, приведено в табл. 1.

Описание пользовательских подпрограмм приведено в табл. 2.


program kurs_1;

(Программа расчета характеристик выходного сигнала электрической цепи)

uses Crt; {подключение модуля Crt}

const

maxind=160;

type

ArrayType=array [1..maxind] of real; {описание глобальных параметров}

{-----------------------------------------------------------------------------------------------------------}

{Процедура ввода исходной информации}


procedure DATA (var n : integer;

var kl : byte;

var tn, tm, tk, Um, Uin2: real);

begin

writeln (`Введите нужное количество отсчетов сигнала`);

write (`n=`);

readln (n);

writeln (`Введите признак kl = 1, если хотите вывести результат на монитор`)

writeln (`или признак kl = 0, если хотите записать результаты в файлы f1 и f2`);

write (`kl =`);

readln (kl);

writeln (`Введите ваши исходные данные`);

writeln (`Начальный момент наблюдения входного сигнала`);

write (`tn=`);

readln (tn);

write (`Момент времени, разделяющий две ветви алгоритма`);

writeln (`расчета входного сигнала`);

write (`tm =`);

readln (tm);

writeln (`Конечный момент времени наблюдения входного сигнала`);

write (`tk =`);

readln (tk);

writeln (Значение входного напряж. соответствующего моменту времени tm`);

write (`Um =`);

readln (Um);

writeln (Заданный параметр передаточной характеристики`);

write (`Uin2=`);

readln (Uin2);

end; {of procedure DATA}

{-----------------------------------------------------------------------------------------------------------------------}

{Описание процедуры формирования массива входных отсчетов}

procedure UIN (n : integer;

kl : byte;

tn, tm, tk, Um : real;

var uin : Arraytype); {список формальных параметров}

var

t, a, b, del: real;

i: integer;

begin

t:=tn;

del:=(tk-tn)/(n-1);

a:=um/(tm-tn);

b:=um/(tk-tm);

for i:=1 to n do

begin

if t>tm

then uin[i]:=b*(tk-t)

else uin[i]:=a*(t-tn);

t:=t+del;

end;

end; {of procedure UIN1}

{----------------------------------------------------------------------------------------------------------------------}

{Описание процедуры формирования массва выходных отсчетов}


procedure UOUT1(n : integer;

kl : byte;

Uin2 : real;

uin : Arraytype;

var uout : Array Type);

var {описание локальных переменных}

i: integer;

begin

for i:=1 to n do

if uin[i]<Uin2

then uout[i]:=4

else uout[i]:=(uin[i]-1)*(uin[i]-1);

end; {of procedure UOUT1}

{--------------------------------------------------------------------------------------------------------------------}

{Описание функции нахождения максимальнго значения выходного сигнала}


function MAXI(n : integer;

uout : Array Type):real:

var

max: real;

i: integer;

begin

max:=uout[i];

for i:=2 to n do

if uout[i]>max

then max:=uout[i];

maxi:=max;

end; {of function MAXI}

{--------------------------------------------------------------------------------------------------------------------}

{Описание процедуры записи массивов входного и выходного сигналов}

{на диск в файлы с именами f1.prn и f2.prn}


procedure WRITEINFO(n : integer;

uin, uout: Array Type);

var

f1, f2 : text;

I : integer;

begin

assign(f1, `f1.prn`); {связывание и открытие файлов}

assign(f2, `f2.prn`);

rewrite(f1);

rewrite(f2);

for i:=1 to n do

begin

writeln(f1,uin[i]:7:3); {запись в файлах}

writeln(f2,uout[i]:7:3);

end;

close(f1); {закрытие файлов}

close(f2);

end; {of procedure WRITEINFO}

{---------------------------------------------------------------------------------------------------------------------}

{процедура вывода на экран результатов работы программы}


procedure REZULT(n : integer;

kl : byte;

uin, uout : Array Type);


var

i: integer;

begin

if kl=1 {признак вывода результатов на экран монитора}

then

begin

writeln(`Отсчеты входного сигнала`):

for i:=1 to n do

writeln(`uin[`.i.`]=`uin[i]:7:3; {вывод входных отсчетов}

writeln(`Отсчеты выходного сигнала`);

for i:=1 to n do

writeln(`uout[`.i.`]=`,uout[i]:7:3); {вывод вых. Отсчетов}

writeln(`Макс. Значение вых. Сигнала=`,MAXI(n,uout):7:3);

end

else

begin

writeln;

writeln;

writeln(`Программа закончила свою работу. Массивы`);

writeln(`входных и выходных отсчетов сформированы`);

writeln(`и записаны в файлы f1.prn и f2.prn соответственно`);

end

end; {of procedure REZULT}

{---------------------------------------------------------------------------------------------------------------------}

var

n : integer;

kl : byte; {глобальные параметры, напрямую недоступные}

tn, tm, tk, Um : real; {ни одной из выше описанных процедур}

uin, uout : Array Type;


{----------------------------------------------------------------------------------------------------------------------}

BEGIN {of main}

Circr;

Data(n, kl, tn, tm, tk, Um, Uin2);

Uin1 (n, kl, tn, tm, tk, Um, uin);

Uout1(n, kl, Uin2, uin, uout);

Writeinfo(n, uin, uout);

Rezult(n, uin, uout);

Readln

END. {of main}


Рис 3. Текст программы


Таблица идентификаторов

Таблица 1

Обозначение

в задаче

Индентификатор Назначение

n Текущее значение количества отсчетов входного сигнала

kl Признак-ключ, определяющие режим работы kl=1, если вывод на монитор, kl – любое другое число, например 0, если вывод в файл на диск
Uвх(t) uin Массив для хранения отсчетов входного сигнала
Uвых(t) uout Массив для хранения отсчетов выходного сигнала
tнач tn Начальный момент наблюдения входного сигнала
tкон tk Конечный момент наблюдения входного сигнала
tm Параметр входного напряжения Uвх(t). Граничная точка, отделяющая две ветви Uвх(t)
Um Параметр входного напряжения Uвх(t). Входное напряжение, соответствующее моменту времени tм
t t Текущий момент времени
a a Коэффициент, появляющийся при переходе от графического изображения сигнала к его аналитическому виду
b b

del Временной интервал между двумя соседними отсчетами входного сигнала

i Счетчик цикла
Uвх1 Uin2 Параметр передаточной характеристики

max Переменная для хранения максимального значения выходного сигнала

f1, f2 Логические имена файлов

Таблица описания пользовательских подпрограмм

Таблица 2

Подпрограмма Входные и выходные параметры Назначение

procedure DATA

(var n: integer; var kl: byte; var tn, tm, tk, Um, Uin2: real);

Все формальные параметры процедуры являются выходными (var – параметры) Позволяет ввести с клавиатуры необходимые для решения задачи исходные данные и передать эти данные в другие подпрограммы

procedure UIN1

(n: integer; kl: byte; tn, tm, tk, Um: real; var uin:Arraytype);

n, kl, tn, tm, tk, Um – входные параметры. Используются процедурой при формировании массива входных отсчетов сигнала. uin – выходной var – параметр хранит значения отсчетов входного сигнала Процедура формирует массив отсчетов входного сигнала, который в дальнейшем может быть использован в других подпрограммах

procedure UOUT1

n integer; kl: byte; Uin2: real; uin: Arraytype; var uout: Array Type);

n, kl, Uin2, uin – входные параметры процедуры, используемые при формировании массива выходных отсчетов сигнала. uout – выходной var –параметр, хранит значения отсчетов выходного сигнала Процедура формирует массив отсчетов выходного сигнала, который в дальнейшем может быть использован другими подпрограммами

function MAXI(n: integer; uout: Array Type): real;

n и uout – входные параметры значения, с их помощью функция рассчитывает свое единственное значение – максимальное значение выходного сигнала Функция находит максимальное значение выходного сигнала и возвращает его в точку вызова

procedure WRITEINFO

(n: integer; uin, uout: Array Type);

n, uin, uout – входные параметры, которые процедура использует для проведения операции записи массивов входных и выходных сигналов в файлы на диск Процедура записывает отсчеты входного и выходного сигналов в нужном формате в файлы f1.prn и f2.prn соответственно

procedure REZULT

(n integer; kl: byte; uin, uout: Array Type);

n, kl, uin, uout – входные параметры, используемые процедурой для вывода результатов на экран монитора Выводит результат работы программы на экран монитора, если пользователь ввел с помощью процедуры Data нужное значение признака kl=1

Пояснения к тексту программы


Предложенная для решения задача разбита на четыре основные части (подзадачи). Каждая из этих частей реализована в виде подпрограммы (процедуры или функции).

Ввод исходных данных, необходимых для решения задачи, выделен также в самостоятельную процедуру под именем DATA. В программе предусмотрен вывод результатов решения задачи на экран монитора по желанию пользователя (процедура REZULT).

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


Процедура формирования массива входных отсчетов


Описание процедуры UIN1 смотри в тексте программы на рис.3.


Пояснения к тексту процедуры UIN1


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

Описание процедуры помещено в разделе деклараций основной программы. Это описание является «образцом действий», в соответствии с которым данная процедура будет выполняться каждый раз при вызове ее из основной программы. Имя процедуры - UIN1 задано в заголовке процедуры. В круглых скобках перечислен список формальных параметров. Шесть из них являются параметрами значениями, один – параметр – переменная, о чем свидетельствует стоящее перед ним зарезервированное слово var. Использование var-параметра в данном случае необходимо, так как в результате работы процедуры будет сформирован массив отсчетов входного сигнала, который в дальнейшем необходимо будет передать в процедуру формирования массива выходных отсчетов. Поэтому после выхода из процедуры UIN1 массив отсчетов входного сигнала должен быть сохранен, ибо без него невозможна дальнейшая работа других подпрограмм (см. прил. 1).

В разделе описаний локальных переменных var описаны текущее время t, два коэффициента «a» и «b», вычисляемые по выведенным выше формулам, шаг изменения временного интервала del, вычисляемый по формуле:

, i – счетчик цикла.

Раздел описания переменных внутри процедуры является описанием локальных параметров. Эти параметры доступны только внутри той процедуры, где они описаны (в данном случае внутри процедуры UIN1).

Результат работы переменных UIN1 – сформированный массив отсчетов входного сигнала.


Процедура формирования массива выходного отсчетов


Описание процедуры UOUT1 смотри в тексте программы на рис. 3.


Пояснения к тексту процедуры UOUT1


Список формальных параметров процедуры UOUT1 содержит входные параметры значения n, kl, Uin2, uin, необходимые для расчета и формирования массива выходных отсчетов. По сути эти параметры являются локальными и не сохраняют свои значения после выхода из процедуры; uout – является выходным var-параметром, следовательно, этот параметр сохранит все свои значения и после выхода из процедуры и может быть использован как главной программой, так и другими процедурами.

Связь подпрограмм с «внешним миром» осуществляется только с помощью var-параметров (или глобальных параметров) (см. прил. 1).

Результат работы процедуры UOUT1 – сформированный массив отсчетов выходного сигнала.


Функция для нахождения максимального значения выходного сигнала


Описание функции MAXI смотри в тесте программы на рис. 3.


Пояснения к тексту функции MAXI


Обратите внимание на заголовок функции и его отличия от заголовка процедуры. Имя функции MAXI. Результат работы функции – единственное значение, представляющее максимальное значение выходного сигнала. Этот результат передается в точку вызова функции из основной программы с помощью имени самой функции MAXI, поэтому в заголовке функции, задан тип этого результата (в данном случае MAXI:real).

Список формальных параметров состоит из входных параметров n и uout. Эти параметры заданы как параметры-значения (отсутствует служебное слово var). После выхода из функции нам понадобиться только одно единственное значение – max значение выходного сигнала, которые мы должны были найти в соответствии с заданием, поэтому последним оператором внутри функции стоит оператор присваивания, с помощью которого вычисленное значение максимума выходного сигнала присваивается переменной с именем функции MAXI, значение которого и будет передано затем в точку вызова функции.


Процедура записи массивов входного и выходного сигналов в файлы с именами f1.prn и f2.prn


Описание процедур WRITEINFO смотри в тексте программы на рис. 3.


Пояснения к тексту процедуры WRITEINFO


Имя процедуры – WRITEINFO. Список формальных параметров-значений состоит из входных параметров n, uin, uout.

В разделе локальных переменных введены описания двух файлов переменных f1 и f2 типа text. В разделе операторов этим файловым переменным f1 и f2 ставятся в соответствие физические файлы на диске с именами «f1.prn» и «f2.prn» соответственно. Это выполняется с помощью специальной процедуры assign. Имена файлов могут быть любыми, но они должны иметь расширение prn, так как в дальнейшем предполагается использование математической системы MathCD, которая для записи и чтения векторов и матриц использует файлы именно с этим расширением.

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


Процедура вывода на экран результатов работы программы


Описание процедуры REZULT смотри в тексте программы на рис. 3.


Пояснения к тексту REZULT

Список формальных параметров процедуры состоит из входных параметров-значений n, kl, uin, uout. Процедура выводит по определенному признаку результат работы программы на экран монитора. Это может быть контрольный расчет, выполненный студентом, или решение задачи при рабочем наборе исходных данных.

ЗАМЕЧАНИЕ: Для проверки контрольного расчета студент может воспользоваться окном наблюдения WATCH при проведении пошаговой отладки программы (функциональная клавиша F8).


Главная программа

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


Контрольный расчет


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

В рассматриваемом варианте необходимо выбрать контрольный набор значений исходных данных для следующих величин: N, tнач, tм, tкон, Uм, Uвх1.

Величины tнач, tкон могут быть выбраны из соображений удобства вычислений. Выберем tнач = 1с, tкон = 7с. Количество расчетных точек N рекомендуется брать не менее 4. Выберем N = 4, при этом вычисления величин Uвх(t) и Uвых(t) выполняются для моментов времени t1 = tнач = 1с, t2 = 3c, t3 = 5c, t4 = tкон = 7с. Для контроля правильности реализации разветвления в подпрограмме формирования массива Uвх следует проверить, что при этом в вычислениях величины Uвх(t) использовались хотя бы по одному разу все приведенные при переходе от графика к аналитическому выражению формулы. Из формул видно, что при t = tнач и t = tкон не проверяется правильность формул, так как образуются нулевые сомножители. Поэтому необходимо выбрать значения величины tм таким образом, чтобы вычисления для t = t2 выполнялась формула Uвх(t) = b(tкон – t). С этой целью выбираем tм = 4с. (см. рис. 4).


Рис. 4. Вычисленные значения входного и выходного сигнала для контрольного расчета


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

В подпрограмме-функции определения Umax для поверки ветвей алгоритма необходимо, чтобы максимум функции Uвых(t) не находился на границах интервала [tнач, tкон]. Как видно из рис. 4 b в рассматриваемом варианте это требование выполняется. Из таблицы вычислений видно, что для контрольного расчета максимальное значение Uвых(I) равно Umax = 9В.


Таблица вычислений

Таблица 3

Назначение набора Набор данных Ручные вычисления Вычисления на ЭВМ
N tнач tкон Uвх1 I Uвх(I) Uвых(I) Umax I Uвх(I) Uвых(I) Umax
Контрольный 4 1 7 4 6 3

1

2

3

4

0

4

4

0

4

9

9

4

9



Рабочий
0,5 6 2,5 20,5 3








Выполнение программы при рабочем наборе исходных данных


Для рабочего набора исходных данных tнач = 0,5с; tм = 2,5с; tкон = 6с; Uм = 20,5В; Uвх1 = 3В берутся из таблицы вычислений. Остается выбрать величину n. Рекомендуется выбрать начальное значение n, совпадающее со значением n, взятым при контрольном расчете. В нашем случае n = 4. Далее выполняя расчеты для реального необходимого количества точек.


ЗАМЕЧАНИЕ: После успешного завершения работы над программой отсчеты массивов входного и выходного сигналов помещены в файлы f1.prn и f2.prn. На этом работа в системе Turbo Pascal (Borland Pascal) считается оконченной. Студенты запускают систему MathCAD и работают в ней над построением графиков входного и выходного сигналов в полном соответствии с рекомендациями, помещенными в приложении 3. Результаты работы демонстрируются преподавателю и заносятся в пояснительную записку в виде двух графиков. На этом выполнение курсовой работы можно считать завершенным.


Приложение 1

Подпрограммы. Процедуры и функции


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

В языке программирования Turbo Pascal имеется две разновидности подпрограмм – процедуры и функции. Любая пользовательская подпрограмма предполагает наличие в основной программе двух составляющих:

Описание подпрограммы в разделе деклараций основной программы. Описание состоит из заголовка подпрограммы и тела подпрограммы. Описание представляет собой некоторый «образец действий».

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


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


Глобальные и локальные параметры


Все параметры, которые использует подпрограмма, можно разбить на два вида:

локальные параметры;

глобальные параметры.


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

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

ЗАМЕЧЕНИЯ:

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

Все имена в пределах подпрограммы, в которой они объявлены, должны быть уникальными и не могут совпадать с именем самой подпрограммы.

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

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


Процедура


Процедура предназначена для выполнения какой-либо законченной последовательности действий. Описание процедуры состоит из заголовка и тела. Заголовок процедуры обязателен.

Формат заголовка:


procedure <имя процедуры> [(список формальных параметров)]


procedure – служебное слово:

Список формальных параметров необязателен, о чем свидетельствуют квадратные скобки [].

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

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

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



Функция


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

У функции с точки зрения синтаксиса есть два отличия от процедуры:

Разные заголовки.

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

Формат заголовка:


function <имя функции> [(список формальных параметров)] : <тип возвращаемого результата>


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

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


Пример:

program ex_2;

uses CRT;

var

x: real:


Формальные и фактические параметры


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

Связь фактических и формальных параметров:

число формальных и фактических параметров должно быть одинаково;

соответствие параметров устанавливается слева направо;

соответствующие формальные и фактические параметры должны совпадать по типу;

при задании фактических параметров необходимо учитывать, как были описаны формальные параметры – как параметры-значения или как параметры-переменные (var-параметры).


Параметры-значения


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

Параметры-значения указываются в заголовке программы своим именем и, через двоеточие – типом. Тип может быть любым.

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


Параметры-переменные (var-параметры)


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

Параметр-переменная указывается в заголовке программы аналогично параметру-значению, но перед именем параметра записывается служебное слова var. Действие слово var распространяется до ближайшей точки с запятой.

ЗАМЕЧАНИЕ: Особенности var-параметров: фактические параметры при вызове должны быть обязательно переменными. Нельзя использовать константы или выражения.

Пример:

{--------------------------------}

BEGIN

writeln(`введите исходные числа`);

readln(x,y);

writeln(`исходные: `,x:5,y:5);

С клавиатуры вводится два целых числа 10 и 20. Далее эти числа передаются процедуре Dec1, где они уменьшаются на 5 единиц каждое. Один из параметров передается как параметр-переменная, другой – как параметр-значение. Результаты выводятся на экран.

исходные: 10 20

уменьшенные 5 15

результирующие 5 20

Уменьшение параметра «у» внутри процедуры не вызвало изменения параметра «у» в основной программе, так как этот параметр описан в заголовке процедуры как параметр-значение. Изменение параметра «х» внутри процедуры привело к изменению параметра «х» в основной программе, так как этот параметр описан в заголовке процедуры как параметр-переменная.

ЗАМЕЧАНИЕ: Именно поэтому var-параметры используются для связи подпрограмм с внешним миром. Подпрограмма с помощью var-параметров передает результаты своей работы вызывающей ее основной программе. В распоряжении программиста есть еще один способ связи подпрограммы с основной программой – через глобальные переменные, однако такой способ может привести к многочисленным ошибкам. При использовании var параметров по вызову процедуры сразу видно, какую именно переменную изменяет процедура. Однако не следует злоупотреблять использованием как глобальными переменными, так и var параметрами, ибо это затрудняет понимание и отладку программы.


Вызов процедур и функций из основной программы


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

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


Приложение 2

Работа с файлами. Организация ввода-вывода информации


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


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

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

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

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

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

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

До того как ФП будет использована, ей должен быть поставлен в соответствие внешний файл путем вызова специальной процедуры 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


Пример:


y(x):= a*sin(sin(x))

= -П = +П

h: П/16

x:= -П, П+П/16..П


- определение функции,

- границы интервала,

- шаг изменения аргументов,

- определение переменно х, изменяющейся на

Интервале с шагом h.


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

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


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

(встроенная условная функция if)


Формат:

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

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


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


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

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


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

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


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


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

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


ORIGIN: = 1

x: = READPRN(f1)

y: = READPRN(f2)

n: = iength(x)

n =


i: = 1..n


- значение первого индекса вектора

- чтение данных из файла


- число элементов вектора х

- знак равенства означает подключение вычислителя,

в результате работы которого будет выдана

размерность считанного массива

- пределы изменения индекса


Документ обмена с файлами 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

Рис. 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

Литература

Поляков Д.Б., Круглов Н.Ю. Программирование в среде Турбо Паскаль /МАИ.-М., 1992.

Епанешников А., Епанешников В. Программирование в среде Turbo Pascal 7.0 – М.Ж Диалог-Мифи, 1993.

Бородич Ю.С., Вальвачев А.Н., Кузьмин А.И. Паскаль для персональных компьютеров – Минск: Высшая школа, 1991.

Губанова Т.В., Дубкова Е.В. Методические указания к контрольным работам по курсу «Информатика» - СПб: СПбГУТ, 1997.

Бузюков Л.Б., Дубков Е.В. Интегрированная программная система Math CAD в задачах связи. – СПб: СПбГУТ, 1996.

Дьяконов В.П. Система Math CAD – М.: Радиосвязь, 1993.