
- •Содержание
- •Рабочая учебная программа дисциплины По дисциплине «Java-технологии» специальности
- •5В060200 «Информатика»
- •5. Цель изучения дисциплины
- •6. Задачи изучения дисциплины
- •7. Содержание дисциплины
- •8. Календарно-тематический план изучения дисциплины «Статистика»
- •9. План лекций, практических (семинарских), лабораторных занятий
- •10. График проведения срсп
- •11. График выполнения и сдачи заданий по срс
- •12. Тематика курсовых работ
- •13. Список основной и дополнительной литературы
- •13.1 Основная литература.
- •13.2 Дополнительная литература.
- •(С ключами правильных ответов)
- •4. Что будет выведено на экран, если скомпилировать и запустить следующий код:
- •5. Какой результат работы программы:
- •6. После выполнения какой строки только один объект будет доступен для сборки мусора (Garbage Collection)?
- •7. Какой результат выдаст следующий код?
- •16. Что произойдёт если скомпилировать следующий код?
- •2. Каким будет результат компиляции и выполнения следующего кода?
- •3. Что выведет на экран следующий код ?
- •4. Что произойдет в результате компиляции и выполнения следующей программы?
- •6. Каким будет результат компиляции и выполнения данного кода:
- •7. Что выведет данный код:
- •8. Выберите строки, использование которых в строке 7 не приведет к ошибке компиляции.
- •14. Возникнет ли ошибка компиляции в следующем фрагменте кода:
- •15. Что произойдёт если скомпилировать и выполнить следующий код?
- •16. Что выведет следующий код?
- •17. Сколько объектов будет создано в результате следующей операции:
- •18. Определим такую функцию
- •19. Выберите единственный верный результат компиляции и выполнения кода.
- •20. Сколько денег в кармане у Джека?
- •14.2. Теоретические вопросы для проведения 2 рубежного контроля
- •14.3. Тематика письменных работ (рефераты) для проведения
- •2 Рубежного контроля
- •4. Что будет выведено на экран, если скомпилировать и запустить следующий код:
- •5. Какой результат работы программы:
- •6. После выполнения какой строки только один объект будет доступен для сборки мусора (Garbage Collection)?
- •7. Какой результат выдаст следующий код?
- •16. Что произойдёт если скомпилировать следующий код?
- •22. Каким будет результат компиляции и выполнения следующего кода?
- •23. Что выведет на экран следующий код ?
- •24. Что произойдет в результате компиляции и выполнения следующей программы?
- •26. Каким будет результат компиляции и выполнения данного кода:
- •27. Что выведет данный код:
- •28. Выберите строки, использование которых в строке 7 не приведет к ошибке компиляции.
- •34. Возникнет ли ошибка компиляции в следующем фрагменте кода:
- •35. Что произойдёт если скомпилировать и выполнить следующий код?
- •36. Что выведет следующий код?
- •37. Сколько объектов будет создано в результате следующей операции:
- •38. Определим такую функцию
- •39. Выберите единственный верный результат компиляции и выполнения кода.
- •40. Сколько денег в кармане у Джека?
- •41. Выберите единственный верный результат компиляции и выполнения кода.
- •42. Выберите правильный результат выполнения кода:
- •43. Что напечатает следующий код:
- •44. Что напечатает следующий код:
- •46. Что выдаст следующий код?
- •47. Что будет выведено на экран в результате выполнения следующего кода?
- •48. Что выведется на экран:
- •49. Что произойдет в результате компиляции и выполнения кода:
- •50. Какой будет результат компиляции и выполнения кода?
- •I. Какие буквы напечатает данная программа?
- •15.2 Теоретические вопросы для подготовки к экзамену
- •15.3 Методические указания (рекомендации) по выполнению экзаменационной контрольной работы
- •16. Система оценки знаний студента
- •16.1 Шкала выставления рейтинга студента дневного отделения
- •16.2 Шкала выставления рейтинга студента заочного отделения
- •16.2 Расчет итоговой оценки
- •16.3 Балльно-рейтинговая система оценки учебных достижений студента с переводом в традиционную шкалу оценок
- •5В060200 «Информатика»
- •Лекция 2. Основы объектно-ориентированного программирования
- •Лекция 3. Лексика языка
- •V circle. Get/*commentVRadius();
- •2. Comment
- •4. More comments
- •6. Finish
- •Лекция 4. Типы данных
- •Лекция 5. Имена. Пакеты
- •Import java.Net.Url;
- •Import java.Awt.*;
- •Import Java.Awt.*;
- •Import Java.Awt.*;
- •Interface Mylnterface { }
- •Inti.J.K; long I;
- •Лекция 6. Объявление классов
- •Import first.*;
- •IntgetXo {return х;}
- •7 Public class One {
- •V public class Two {// Единственный конструктор класса Second.
- •Initializer getVo о initializer2 TestO
- •Лекция 7. Преобразование типов
- •Лекция 8. Объектная модель в Java
- •Interface а { intgetValueO;}
- •Interface в {double getValue{);}
- •Лекция 9. Массивы
- •Лекция 10. Операторы и структура кода. Исключения
- •1Ы: {System.Out.Println("Block 1");
- •1.1. Консольные приложения
- •1.2. Выполнение Java-программы
- •1.3. Апплеты. Основные принципы создания
- •1.4. Умножение матрицы на вектор
- •1.5. Вычисление значений дробно-рациональной функции комплексного переменного
- •1.6.Выбор фигуры
- •1.7. Создание заставки
- •Import java.Awt.*;
- •Import java.Awt.*;
- •Import java.Applet.*;
- •Import java.Awt.*;
- •Import java.Math.*;
- •Import java.Applet.*;
- •1.11. Построение изолиний функции двух переменных
- •1.11. Работа с паролем
- •Import java.Applet.*;
- •Import java.Awt.*;
- •1. Методические рекомендации по выполнению заданий
- •2. Форма контроля
- •3. Оценочный балл выполнения задания
- •Задание №1.
- •Задание №3
- •Задание №4
- •Задание №5
- •Задание №6
- •Задание №6
1.5. Вычисление значений дробно-рациональной функции комплексного переменного
В примере производится вычисление комплексных значений многочленов Pn(z) и Qm(z) с действительными коэффициентами с последующим делением их по формуле [Diak]
Также осуществляется вычисление модуля R и фазы
Лабораторная работа № 7.
Листинг 7. polinom.java - вычисление значений дробно-рациональной функции комплексного переменного
----------------------------------------------------------------
// импортируем необходимые пакеты классов
import java.awt.*; //граф. интерфейса
import java.math.*; //математич. библиотека
import java.applet.*; //поддержка апплета
import java.lang.*; //стандартная библиотека классов
import java.awt.event.*; //обработчик событий
// Создание класса, эмулирующего комплексные числа и операции с ними...
class Complex{
private double re,im;//Действительная и мнимая часть
// Четыре конструктора
public Complex() {}
public Complex(double re){this.re = re;}
public Complex(double re, double im)
{this.re = re;this.im = im;}
public Complex(Complex c)
{this.re = c.re;this.im = c.im;}
// Методы доступа
public double getRe(){return re;}
public double getIm(){return im;}
public static double Abs(Complex c){return Math.pow(c.re,c.im);}
public static Complex Add(Complex c1, Complex c2)
{return new Complex(c1.re+c2.re, c1.im+c2.im);}
public static Complex Mult(Complex c1, Complex c2){
return new Complex(c1.re*c2.re-c1.im*c2.im, c1.re * c2.im + c1.im * c2.re);}
public static Complex Div(Complex c1, Complex c2){
double d= c2.re*c2.re+c2.im*c2.im;
return new Complex((c1.re*c2.re+c1.im*c2.im)/d,
(c2.re * c1.im-c2.im * c1.re) / d); }
}
public class polinom extends Applet
implements ActionListener{
int m,n;
double P[]={3,2,1,0.5};
double Q[]={5,4,3,2,1,0.2};
Button getitb,edit;
Label Pl[],Ql[];
TextField nt,mt,zret,zimt,Pt[],Qt[];
public void vectors(int n,int m)
{int i,j=0;
if (n>13) n=13; if (n<0) n=0;
if (m>13) m=13; if (m<0) m=0;
Pt=new TextField[n]; Qt=new TextField[m];
Pl=new Label[n]; Ql=new Label[m];
for(i=0;i<=n-1;i++)
{ j=j+25;
Pt[i]=new TextField(""+(n-i-1));
Pt[i].setBounds(33,153+j,30,20);
add(Pt[i]);
Pl[i]=new Label("a"+(n-i-1));
Pl[i].setBounds(13,153+j,20,20);
add(Pl[i]);
}
j=0;
for(i=0;i<=m-1;i++)
{ j=j+25;
Qt[i]=new TextField(""+(m-i-1));
Qt[i].setBounds(133,153+j,30,20);
add(Qt[i]);
Ql[i]=new Label("a"+(m-i-1));
Ql[i].setBounds(113,153+j,20,20);
add(Ql[i]);
}
Pt[n-1].setText("0.5");
Qt[m-1].setText("0.2");
}
public void init(){
int i,j;
j=0;
setBackground(new Color(125,168,203));
setLayout(null);
Label nl=new Label("n:");
nl.setBounds(7,15,10,10);
add(nl);
nt=new TextField("4");
nt.setBounds(20,10,30,20);
add(nt);
Label ml=new Label("m:");
ml.setBounds(50,15,12,10);
add(ml);
mt=new TextField("6");
mt.setBounds(65,10,30,20);
add(mt);
Label zre=new Label("z.Re:");
zre.setBounds(110,12,30,20);
add(zre);
zret=new TextField("3");
zret.setBounds(145,10,40,20);
add(zret);
Label zim=new Label("z.Im:");
zim.setBounds(110,40,30,20);
add(zim);
zimt=new TextField("2");
zimt.setBounds(145,40,40,20);
add(zimt);
Label itogi=new Label("Results:");
itogi.setBounds(345,80,100,20);
add(itogi);
getitb=new Button("Get This!");
getitb.setBounds(323,333,100,33);
add(getitb);
edit=new Button("Change values of vectors...");
edit.setBounds(270,373,203,33);
add(edit);
getitb.addActionListener(this);
edit.addActionListener(this);
n=Integer.parseInt(nt.getText());
m=Integer.parseInt(mt.getText());
Label pnz=new Label("P_n(z)");
pnz.setBounds(33,153,50,20);
add(pnz);
Label qmz=new Label("Q_m(z)");
qmz.setBounds(123,153,50,20);
add(qmz);
vectors(n,m);
}
public void paint(Graphics g) {
g.setColor(Color.white);
g.drawRect(5,5,203,500);
g.setColor(Color.white);
g.drawRect(230,5,353,500);
g.fillRect(250,103,323,209);
g.drawString("(c) 2006. Khramkov Ivan",100,523);
}
public void actionPerformed(ActionEvent ae){
int r,i,j;
String st;
Complex x,y,z,ss;
double t1,s1,s,md,yi;
j=0;
t1=0;
Graphics img=getGraphics();
String str = ae.getActionCommand();
if(str.equals("Get This!"))
{
z=new Complex(
Double.parseDouble(zret.getText()),
Double.parseDouble(zimt.getText()));
img.drawString("z="+String.format("%3.2f", z.getRe())+"+"+
String.format("%3.2f", z.getIm())+"i",255,123);
x=new Complex();
y=new Complex();
s1=Double.parseDouble(zret.getText());
for(r=0;r<=n-1;++r)
{
t1=Double.parseDouble(Pt[r].getText());
x=Complex.Add(
Complex.Mult(x,z),new Complex(t1));
}
for(r=0;r<=m-1;++r)
{
t1=Double.parseDouble(Qt[r].getText());
y=Complex.Add(
Complex.Mult(y,z),new Complex(t1));
}
ss=new Complex(Complex.Div(x,y));
img.drawString("F="+String.format("%3.2f", ss.getRe())+"+"+
String.format("%3.2f", ss.getIm())+"i",255,153);
md=Math.sqrt(ss.getRe()*ss.getRe()+
ss.getIm()*ss.getIm());
img.drawString("Module="+String.format("%3.2f", md),255,183);
s1=Math.toDegrees(Math.atan(ss.getIm() / ss.getRe()));
img.drawString("Phase="+String.format("%3.2f", s1)+" grad",255,213);
}
else
{
for(i=0;i<=n-1;i++)
{
remove(Pt[i]);
remove(Pl[i]);
}
for(i=0;i<=m-1;i++)
{
remove(Qt[i]);
remove(Ql[i]);
}
n=Integer.parseInt(nt.getText());
m=Integer.parseInt(mt.getText());
vectors(n,m);
}
}
}
Листинг polinom.html
--------------------------------------------------------------
<HTML> <BODY><center>
<applet code=polinom.class width=633 height=533></applet>
</center> </BODY></HTML>
Результат контрольного примера: