Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОПИСАНИЕ.doc
Скачиваний:
7
Добавлен:
10.02.2016
Размер:
120.32 Кб
Скачать

3

МІНІСТЕРСТВО ОСВІТИ та НАУКИ УКРАЇНИ

ОДЕСЬКИЙ ДЕРЖАВНИЙ ЕКОЛОГІЧНИЙ УНІВЕРСИТЕТ

Кафедра інформаційних технологій

Факультет комп’ютерних наук

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

на тему

“Розрахунок елементів електронних схем

за допомогою ЕОМ”

Виконав студент гр. К-

_________________________

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

перевірена та допущена

до захисту “__”______2012р.

Керівник : Кузніченко С.Д.

Одеса 2012

Содержание

Содержание 2

Введение 3

1 ОПИСАНИЕ ПРОГРАММЫ 4

1.1 Общие сведения 4

1.2 Функциональное назначение 4

1.3 Логическая структура программы 4

1.4 Используемые технические средства 7

1.5 Входные данные программы 7

1.6 Выходная информация программы 8

Выводы 9

ЛИТЕРАТУРА 10

ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ 11

ПРИЛОЖЕНИЕ Б. ГРАФИК 13

ПРИЛОЖЕНИЕ В. ТАБЛИЦА РАСЧЕТОВ 14

Введение

Целью данной курсовой работы является расчет и построение зависимостей от времени тока в контуре i(t) для ω =[0,1ω0 , 1,1ω0 , 20ω0].

Зависимости необходимо было построить для заданного диапазона времени.

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

1 Описание программы

1.1 Общие сведения

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

Для выполнения байт-кодов на компьютере еще нужно иметь библиотеки классов Java под названием, JDK (Java Development Kit) или J2SDK.

Программу можно запустить окна из командной строки MS-DOS Prompt в Windows 95/98/ME или окна Command Prompt в Windows NT/2000 вызвав интерпретатор байт-кодов jaya, которому передается файл с байт-кодами, причем его имя записывается без расширения:

Java Kurs На экране появляется вывод результатов работы программы или сообщения об ошибках времени выполнения. Запустить программу можно из интегрированной среды BlueJ.

1.2 Функциональное назначение

Данная программа предназначена для: расчета силы тока (I), заряда конденсатора (Q) от времени (t) и сопротивления (R), вывода этой зависимости в текстовом и графическом режимах.

1.3 Логическая структура программы

В курсовой работе был создан класс Kurs, содержащий следующие члены класса.

- Поля,

static int n;

static double [] Z, alfa, betta, w;

static double C=0.3E-6, L=1.5E-3,w1,w2;

где n- количество интервалов разбиения по частоте, массивы Z, alfa, betta содержат значения характеристического сопротивления, коэффициента затухания и сдвига фазы для соответствующих значений частоты из массива w. Переменные C и L – исходные параметры схемы ФНЧ, а w1 и w2 – соответственно начальное и конечное значение диапазона частот, для которых будет выполняться расчет указанных зависимостей.

- Методы,

static void Calc() рассчитывает значения элементов массивов Z, alfa, betta и w по следующим формулам:

- характеристическое сопротивление ZC(ω) = (|B(ω)/C(ω)|)1/2;

- сдвиг фазы

0 , приA(ω)≥ 1

β(ω) = arccos(A(ω)) при |A(ω)|< 1

π , при A(ω)≤–1

- коэффициент затухания α(ω) вычисляется по формуле:

α = ln ( |A(ω)| + (A2(ω) – 1)1/2) при |A(ω)|>1, и α = 0 при |A(ω)|≤1

Параметры A, B, C выражаются через приведенные сопротивления участков фильтра по формулам:

A = 1 + Z1/Z3; B = 2·Z1 + Z12/Z3; C = 1/Z3. Здесь Z1 = jωL; Z3 = 1/(jωC)

static void Table() предназначен для вывода расчетных значений в текстовый файл c:\\Vixod.txt в виде таблицы. В первой колонке таблицы выводится значение частоты w, в остальных колонках выводятся характеристическое сопротивление, коэффициент затухания и сдвиг фазы.

Поскольку файлы в большинстве современных операционных систем понимаются как последовательность байтов, для файлового ввода/вывода создаются байтовые потоки. Поэтому со стороны программы придется организовать преобразование символов в байты с помощью класса FileWriter пакета java.io.

После открытия выходного потока типа FileWriter содержимое файла, если он был не пуст, стирается. Для того чтобы можно было делать запись в конец файла, в классе предусмотрен конструктор с двумя аргументами. Если второй аргумент равен true, то происходит дозапись в конец файла, если false, то файл заполняется новой информацией. Например: FileWriter fw = new FileWriter("c:\\Vixod.txt", true);.

Операции ввода/вывода по сравнению с операциями в оперативной памяти выполняются очень медленно. Для компенсации в оперативной памяти выделяется некоторая промежуточная область — буфер, в которой постепенно накапливается информация. Когда буфер заполнен, его содержимое быстро переносится процессором, буфер очищается и снова заполняется информацией. Для буферизации был использован класс BufferedWriter bw = new BufferedWriter(fw); Сразу после выполнения конструктора можно записывать в файл: bw.write();

Для того, чтобы при выводе в текстовый файл можно было использовать методы print() и println() следует использовать класс

PrintWriter pw=new PrintWriter(bw);

По окончанию работы с файлом поток следует закрыть методом close ().

public static String number(double n, int n1, int n2) предназначен для форматного вывода данных в формате double. Метод имеет следующие параметры:

double n – вещественное число, которое следует вывести в указанном формате;

int n1 – количество позиций для представления всего числа n;

int n2 – количество позиций для вывода дробной части числа n.

Форматный вывод данных в методе number() был осуществлен с помощью классов DecimalFormat и DecimalFormatSymbols из пакета java.text.

Класс DecimalFormatSymbols необходим для того, чтобы программист мог задать вид разделителя в числовых данных. В программе в качестве разделителя задана точка (.). Для использования методов класса DecimalFormatSymbols первоначально следует создать ссылку на класс следующим образом

DecimalFormatSymbols fs = new DecimalFormatSymbols()

А потом можно использовать метод fs.setDecimalSeparator('.') для определения разделителя.

Перед форматированием с помощью класса DecimalFormat создается

экземпляр класса одним из следующих способов

DecimalFormat df = new DecimalFormat("###.##");

или

DecimalFormat df = new DecimalFormat("000.00");

или

DecimalFormat df = new DecimalFormat("##.00");

или

DecimalFormat df = new DecimalFormat("0.###E0", fs);

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

df.format(a), который возвращает тип String

public void paint(Graphics g) строит графики зависимости значений характеристического сопротивления, сдвига фазы и коэффициента затухания от частоты во фреймовом окне. Набор классов, с помощью которых можно программировать оконные элементы и работать с графикой в Java, содержится в пакете java.awt. В пакете содержится большое количество различных классов для создания оконных объектов. Главным классом является класс Component, в котором реализованы основные функции поддержки графических элементов. Самое простое, так называемое фреймовое окно, можно создать с помощью объектов класса Frame.

Конструктор класса Frame может принимать в качестве параметра строку, которая используется как заголовок окна. Frame f = new Frame("График зависимостей Z от частоты");

Рисование графических объектов в окне размещаеться в методе paint(). Параметром метода должен являться экземпляр класса Graphics public void paint (Graphics g) {…} В классе Graphics находятся методы позволяющие выполнять рисование различных базовых объектов (линий, окружностей, прямоугольников), установку цвета, вывода текста и т.д.

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