1.4 Используемые технические средства
Программа, откомпилированная в байт-коды может выполняться на любом персональном компьютере, имеющем систему, реализующую JVM. При этом не важен ни тип процессора, ни архитектура компьютера. Кроме реализации JVM для выполнения байт-кодов на компьютере еще нужно иметь набор функций, вызываемых из байт-кодов и динамически компонующихся с байт-кодами. Этот набор оформляется в виде библиотеки классов Java, состоящей из одного или нескольких пакетов - JDK или новая версия Java 2 SDK, сокращенно J2SDK Файл Java 2 SDK SE, vl.3, в упакованном виде имеет размер около 30 Мбайт, и еще файл с упакованной документацией размером 23 Мбайта. Все это распаковывается в 210 Мбайт дискового пространства. Поэтому данная версия требует процессор Pentium 166 и выше и не менее 32 Мбайт оперативной памяти. J2SDK содержит компилятор javac из исходного текста в байт-коды; интерпретатор java, содержащий реализацию JVM; библиотеку классов Java API (Application Programming Interface) и др. важные программы.
1.5 Входные данные программы
В программе весь ввод осуществляется с клавиатуры. В основной программе и в процедуре Calc. В основной программе вводятся:
m- количество интервалов разбиения интервала сопротивлений;
В процедуре Сalc вводятся:
емкость конденсатора C(нФ),
индуктивность катушки L(мГн),
диапазон изменения сопротивлений (R0 – RK).
1.6 Выходная информация программы
Программа вычисляет и выдает в текстовом и графическом виде зависимости характеристических токов, напряжений на конденсаторе от времени и сопротивлений.
В приложении приведена таблица зависимости параметров к.к. от времени t, которую программа An_kurs выводит в текстовый файл rezult. Как видно из приложения таблица состоит из n колонок.
В первой колонке таблицы выводится значение времени, а в остальных колонках выводятся значения токов от сопротивлений.
Выводы
В данной курсовой работе рассчитаны зависимости параметров к.к. (токов, напряжений ) от времени t. Разработанная программа позволяет вычислять и выдавать в графическом и табличном виде указанные зависимости. Это существенно облегчает расчеты, поскольку не нужно каждый раз проводить расчеты вручную, а просто запускается готовая программа, в которой этот процесс автоматизирован и вводятся нужные параметры.
ЛИТЕРАТУРА
Эккель Б. Философия Java. :BHV., СПб – 2001. 850с.
Морган М. Java 2. Руководство разработчика. – М.: Изд. дом «Вильямс», 2000.
Нотон П., Шилдт Г. Полный справочник по Java. – Киев: Диалектика, 1997.
Флэнэген Д. Java in a Nutshell. Полное руководство. – Киев: BHV, 1998
Роганов Е.А. Основи информатики и программирования: Учебное пособие – М.: МГИУ, 2001. – 315 с.
ПРИЛОЖЕНИЕ А. ЛИСТИНГ ПРОГРАММЫ
import java.lang.Math;
import java.text.*;
import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class Kurs extends Component{
static int n;
static double [] Z, alfa, betta, w;
static double C=0.3E-6, L=1.5E-3,w1,w2;
static void Calc()
{
double a;
w[0]=w1;
double h=(w2-w1)/(n-1);
for (int i=1;i<n;i++)
w[i]=w[i-1]+h;
for (int i=0;i<n;i++){
a=1-w[i]*w[i]*L*C;
Z[i]=Math.sqrt(Math.abs(2*L/C-w[i]*w[i]*L*L));
alfa[i]=Math.abs(a)>1?Math.log(Math.abs(a)+Math.sqrt(a*a-1)):0;
if (a>=1) betta[i]=0; else
if (a<=-1) betta[i]=Math.PI; else
betta[i]=Math.acos(a);
}
for (int i=0;i<n;i++){
Z[i]*=1e-2;
w[i]*=1e-3;}
}
public static String number(double n, int n1, int n2)
{ DecimalFormatSymbols fs = new DecimalFormatSymbols();
fs.setDecimalSeparator('.');
String s="0.";
for (int i=1; i<=n2; i++) s+="0";
DecimalFormat df = new DecimalFormat(s, fs);
String s1 = df.format(n);
String s2="";
for (int i = s1.length(); i < n1; i++) s2+=" ";
return s2+s1;
}
//Главный метод
public static void main(String[] args) throws Exception {
InputStreamReader is = new InputStreamReader(System.in);
BufferedReader st = new BufferedReader(is);
System.out.println(" Введите w1, кГц->");
String numberStr = st.readLine();
w1=Double.valueOf(numberStr).doubleValue();
w1*=1e3;
System.out.println(" Введите w2, кГц->");
numberStr = st.readLine();
w2=Double.valueOf(numberStr).doubleValue();
w2*=1e3;
System.out.println(" Число разбиений по частоте->");
numberStr = st.readLine();
n=Integer.valueOf(numberStr).intValue();
w=new double[n];
Z=new double[n];
alfa=new double[n];
betta=new double[n];
Calc();
Table();
Frame f = new Frame("График зависимости Z,alfa,betta от частоты");
f.setSize(400, 300);
f.add(new Kurs());
f.show();
f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}});}}