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

Описание процедур и функций. Разработка программы на языке программирования Free Pascal. Передаточная характеристика цепи. Вычисление разности между максимальным и минимальным значением выходного сигнала. Процедура формирования массива входных отсчётов.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 07.10.2013
Размер файла 73,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Министерство связи РФ

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

Факультет заочного обучения

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

по дисциплине “Информатика”

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

Студента 2-го курса

Заочного факультета

Специальность 2010

Номер с/б 006027

Архангельск 2012 г.

Содержание

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

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

3. Таблица описаний процедур и функций

4. Текст программы, выполненный на языке Free Pascal

5. Контрольный расчёт

Список используемой литературы

Литература

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

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

Разработка программы будет выполнена на языке программирования Free Pascal, который ведёт своё начало от классического языка Pascal, разработаного в конце 60-х годов XX века Никлаусом Виртом. Н. Вирт разрабатывал этот язык как учебный язык для своих студентов. С тех пор Pascal, сохранив простоту и структуру языка, разработанного Н. Виртом, превратился в мощное средство программирования. С помощью современного языка Pascal можно производить простые расчёты, разрабатывать программы для проведения сложных инженерных и экономических вычислений.

После пересчета номера студенческого билета получили следующий код для выбора исходных данных: А=11; Б=05; В=02. Для этого кода согласно таблице приведённой в методических указаниях задание имеет следующий вид:

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

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

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

На входе этой цепи действует сигнал в виде аналитического выражения.

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

Требуется вычислить разность между максимальным и минимальным значением выходного сигнала (код В=02).

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

a = 10 В/с;

b = 10 В/с;

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

Таблица 1

Обозначение в задаче

Идентификатор

Назначение

-

maxind

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

-

n

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

-

monitor

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

UВХ(t)

uin

Массив для хранения отсчётов входного сигнала

UВЫХ(t)

uout

Массив для хранения отсчётов выходного сигнала

tНАЧ

tn

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

tКОН

tk

Конечный момент наблюдения входного сигнала

t1

t1

Промежуточные моменты наблюдения входного сигнала

t2

t2

-

t

Текущий момент времени.

-

td

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

-

i

Счётчик цикла

a

a

Коэффициенты, используемые в аналитическом выражении входного сигнала

b

b

-

min

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

-

max

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

k

k

Коэффициент, используемый при расчёте выходного сигнала.

-

f1, f2

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

3. Таблица описаний процедур и функций

Таблица 2

Подпрограмма

Входные выходные параметры

Назначение

Data( var n: integer;

var monitor: byte;

var tn, tk, t1,

t2, k, a, b: real)

Все формальные параметры процедуры являются выходными (var-параметры).

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

Uinput( n: integer;

tn, tk, t1,

t2, a, b: real;

var uin: ArrayType)

n, tn, tk, t1, t2, a, b, - входные параметры процедуры.

Используются процедурой при формировании массива входных отсчётов сигнала.

uin - выходной var-параметр, хранит значения отсчётов входного сигнала.

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

Uoutput( n: integer;

k: real;

uin: ArrayType;

var uout: ArrayType)

n, k, uin - входные параметры процедуры, используемые при формировании массива выходных отсчётов сигнала.

uout - выходной var-параметр, хранит значения отсчётов выходного сигнала.

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

Dif( n:integer;

uout:ArrayType):real

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

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

Save( n: integer;

uin,uout: ArrayType)

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

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

Show( n: integer;

monitor: byte;

uin,uout: ArrayType)

n, monitor, uin, uout - входные параметры, используемые процедурой для вывода результатов на экран монитора.

Выводит результат работы программы на экран монитора.

4. Текст программы, выполненный на языке Free Pascal

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

program kr00;

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

const

maxind=150;

type

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

var n: integer;

var monitor: byte;

var tn, tk, t1, t2, k, a, b: real;

uin, uout : ArrayType;

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

procedure Data (var n: integer;

var monitor: byte;

var tn, tk, t1, t2, k, a, b: real);

begin

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

writeln;

write('Введите значение a: ');

readln(a);

write('Введите значение b: ');

readln(b);

write('Введите начальный момент времени, t начальное: ');

readln(tn);

write('Введите конечный момент времени, t конечное: ');

readln(tk);

write('Введите первый условный момент времени, t1: ');

readln(t1);

write('Введите второй условный момент времени, t2: ');

readln(t2);

write('Введите количество измерений, но не больше ',maxind,', n: ');

readln(n);

write('Введите множитель k: ');

readln(k);

writeln('Вывести результаты на монитор или в файл?');

write('Если на монитор - введите 1, иначе - 0: ');

readln(monitor);

end;

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

procedure Uinput(n: integer;

tn, tk, t1, t2, a, b: real;

var uin: ArrayType); {Формальные параметры}

var

t, td: real;

i: integer;

begin

t := tn;

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

for i:= 1 to n do

begin

if t <= t1 then uin[i] := a*(t - tn);

if (t1 < t) and (t <= t2) then uin[i] := a*(t1 - tn);

if t > t2 then uin[i] := (a*(t1 - tn) - (b*(t - t2)));

t := t + td;

end;

end;

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

procedure Uoutput(n : integer;

k: real;

uin: ArrayType;

var uout: ArrayType);

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

i: integer;

begin

for i:= 1 to n do uout[i] := k * uin[i];

end;

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

function Dif(n :integer;

uout :ArrayType):real;

var

min, max :real;

i :integer;

begin

i:=1;

min:= uout[i];

max:= uout[i];

for i:=2 to n do begin

if (min > uout[i]) then min := uout[i];

if (max < uout[i]) then max := uout[i];

end;

dif := max - min;

end;

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

procedure Save(n: integer;

uin, uout: ArrayType);

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:4); {запись в файлах}

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

end;

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

close(f2);

end;

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

procedure Show(n: integer;

monitor: byte;

uin, uout: ArrayType);

var

i: integer;

begin

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

then begin

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

for i:=1 to n do writeln('uin[',i,'] = ',uin[i]:7:4); {вывод входных отсчетов}

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

for i:=1 to n do writeln('uout[',i,'] = ',uout[i]:7:4); {вывод вых. Отсчетов}

writeln('Разница между макс. и мин. значениями вых. сигнала = ',Dif(n,uout):7:4);

end else

begin

Save(n, uin, uout);

writeln;

writeln;

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

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

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

end

end;

BEGIN

clrscr;

Data(n, monitor, tn, tk, t1, t2, k, a, b); {Ввод данных}

clrscr;

Uinput(n, tn, tk, t1, t2, a, b, uin);

Uoutput(n, k, uin, uout);

Show(n, monitor, uin, uout);

readln;

END.

5. Контрольный расчёт

Таблица 3

Назначение набора

Набор данных

Расчёты ручных вычислений

n

a

b

tn

tk

t1

t2

t

UВХ(t)

UВЫХ(t)

UMAX-UMIN

Контрольный

12

7

7

5

60

20

45

5

10

15

20

25

30

35

40

45

50

55

60

0.00

35.00

70.00

105.00

105.00

105.00

105.00

105.00

105.00

70.00

35.00

0.00

0.00

52.50

105.00

157.50

157.50

157.50

157.50

157.50

157.50

105.00

52.50

0.00

157.5

Рабочий

9

10

10

5

45

10

40

5

10

15

20

25

30

35

40

45

0.00

50.00

50.00

50.00

50.00

50.00

50.00

50.00

0.00

0.00

75.00

75.00

75.00

75.00

75.00

75.00

75.00

0.00

75.0

Графики (контрольного расчёта) построенные в Mathcad

a:=7, b:=7, tn:=5, tk:=60, t1:=20, t2:=45, t:=5,10..60

uin(t):=if[t?t1,a•(t-tn),if[t1?t?t2,a•(t1-tn),[a•(t1-tn)]-[b•(t-t2)]]]

Входное напряжение

uout(t) := uin(t)•1.5

Выходное напряжение

Рис. 3

Список используемой литературы

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

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

2. Алексеев Е.Р., Чеснокова О.В., Кучер Т.В., FreePascal и Lazarus, Учебник по программированию - Библиотека ALT Linux; М. Издательский дом ДМК-пресс, 2010.

Размещено на Allbest.ru


Подобные документы

  • Процедура формирования массивов отсчетов входного и выходного сигналов и времени; вычисление величины заданной характеристики выходного сигнала: функция нахождения длительности импульса; организация текстовых файлов; построение графиков в системе MathCad.

    курсовая работа [75,9 K], добавлен 28.09.2012

  • Приведение выходного сигнала к аналитическому вид. Программа расчёта характеристик выходного сигнала электрической цепи. Таблица идентификаторов и описаний пользовательских подпрограмм. Построение графиков по массивам входного и выходного сигналов.

    контрольная работа [594,2 K], добавлен 28.09.2012

  • Разработка проектов на языке программирования высокого уровня. Составление алгоритма решения. Определение длительности переднего фронта входного, выходного сигнала. Работа с дисковыми файлами. Представление программы в виде иерархической структуры блоков.

    курсовая работа [163,2 K], добавлен 28.05.2015

  • Вычисление значения входного и выходного сигналов в n-равноотстоящих точках, вывод на экран таблицы. Структура программы: модули, список идентификаторов функций, интерфейс. Исходный код программы. Проверка расчетов в Maxima и построение графиков.

    курсовая работа [1,4 M], добавлен 14.07.2012

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

    курсовая работа [155,6 K], добавлен 22.04.2012

  • Теоретические и практические аспекты решения прикладных задач с применением функций и процедур структурного (модульного) программирования. Особенности разработки схемы алгоритма и программы для вычисления массива z на языке Turbo Pascal 7.0, их описание.

    курсовая работа [241,7 K], добавлен 11.12.2009

  • Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.

    курсовая работа [1,5 M], добавлен 21.09.2010

  • Особенности разработки программ на языке Turbo Pascal на примере программы обработки массива данных с построением диаграммы. Функции программы и основные требования к ней. Состав входных и выходных данных. Использование предметной области "Садовод".

    курсовая работа [789,1 K], добавлен 13.03.2013

  • Разработана программа решения двух задач на языке программирования Turbo Pascal. Спецификация задания. Описание входных и выходных данных. Математическая постановка задачи. Алгоритм ее решения. Описание и блок-схема программы. Результаты тестирования.

    курсовая работа [275,8 K], добавлен 28.06.2008

  • Законы электрических цепей, порядок и методы их расчета. Разработка программы на языке программирования Borland C++ Builder 5.0 для анализа разветвленных электрических цепей с использованием матричного метода. Алгоритм решения задачи и описание его работы

    курсовая работа [211,5 K], добавлен 08.10.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.