З авдання № 2
“Аналіз типу об’єкта методом декомпозиції з використанням
предикатних функцій ”
1. Зміст виконання завдання
Змістом виконання завдання є написання і дебагинг програмного коду на алгоритмічній мові Java, який визначає тип об’єкта з використанням предикатних функцій.
2. Порядок виконання завдання
1) Написати програмний код за індивідуальним завданням.
2) Завантажити програмний код до JVM.
3) Виконати старт і дебагинг програми і виправити помилки, якщо такі з’являться.
4) Оформити розділ пояснювальної записки.
Программный код:
//Определение типа объекта Enter_object.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Enter_object extends JFrame
implements ActionListener {
private JTextField inputTextField = new JTextField(70);
private JTextField outputTextField = new JTextField(70);
public Enter_object() {
Container container = getContentPane();
container.setLayout(new BorderLayout(5, 0));
Font font1 = new Font("TimesRoman", Font.BOLD, 15);
JLabel label = new JLabel("Enter object of any type: ");
label.setFont(font1);
label.setHorizontalAlignment(JLabel.CENTER);
label.setPreferredSize(new Dimension(250, 75));
outputTextField.setFont(font1);
outputTextField.setHorizontalAlignment(JLabel.CENTER);
outputTextField.setBackground(Color.yellow);
JPanel textPanel = new JPanel();
textPanel.setLayout(new BorderLayout(5,0));
textPanel.add(label, BorderLayout.WEST);
textPanel.add(inputTextField, BorderLayout.CENTER);
textPanel.setBackground(Color.yellow);
outputTextField.setEditable(false);
inputTextField.addActionListener(this);
container.add(textPanel, BorderLayout.NORTH);
container.add(outputTextField, BorderLayout.CENTER);
}
public static void main(String args[]) {
//Главное окно
Enter_object frame = new Enter_object();
frame.setTitle("Task 2: Lexeme or number?");
frame.setLocation(100, 100);
frame.setSize(400, 150);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
//Реакция на ввод
public void actionPerformed(ActionEvent e){
if (e.getSource() == inputTextField) {
if (inputTextField.getText().equals(""))
outputTextField.setText("You did not enter anything!");
else
doConvers(inputTextField.getText());
inputTextField.setText("");}
inputTextField.requestFocusInWindow();
}
public void doConvers(String input) {
try {
double transInput = Double.parseDouble(inputTextField.getText());
outputTextField.setText("You enter: " + inputTextField.getText() + ". This is a NUMBER");
}
catch (NumberFormatException e) {
outputTextField.setText("You enter: " + inputTextField.getText() + ". This is a LEXEME");}
}
}
Результат роботы програми:
Висновок:
В ході виконання завдання була написанна програма на алгоритмічній мові Java, який визначає тип об’єкта з використанням предикатних функцій.
З авдання № 3
“Використання вмонтованих функцій”
1. Зміст виконання завдання
Змістом виконання завдання є написання і дебагинг програмного коду на алгоритмічній мові Java, в якому виористовються вмонтовані функції обробки числових даних.
2. Порядок виконання завдання
1) Написати програмний код за індивідуальним завданням.
2) Завантажити програмний код до JVM.
3) Виконати старт і дебагинг програми і виправити помилки, якщо такі з’являться.
4) Оформити розділ пояснювальної записки.
Програмний код:
//Обработка числовых данных DifferentFunctions3.java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DifferentFunctions3 extends JFrame
implements ActionListener {
JButton button;
JFrame frame;
private JTextField inputFirst = new JTextField(70);
private JTextField inputSecond = new JTextField(70);
private JTextField outputMax = new JTextField(70);
private JTextField outputMin = new JTextField(70);
private JTextField outputAdd = new JTextField(70);
private JTextField outputSub = new JTextField(70);
private JTextField outputMul = new JTextField(70);
private JTextField outputDiv = new JTextField(70);
public DifferentFunctions3() {
Container
container = getContentPane();
container.setLayout(new BorderLayout(5, 0));
container.setBackground(Color.white);
Font font1 = new Font("TimesRoman", Font.ROMAN_BASELINE, 15);
//Рабочая кнопка
JButton button = new JButton("Enter");
button.setMinimumSize(button.getPreferredSize());
button.addActionListener(this);
button.setFont(font1);
//Метки для полей ввода
JLabel labelFirst = new JLabel("Input the first number: ");
labelFirst.setFont(font1);
labelFirst.setPreferredSize(new Dimension(250, 40));
labelFirst.setHorizontalAlignment(JLabel.CENTER);
JLabel labelSecond = new JLabel("Input the second number: ");
labelSecond.setFont(font1);
labelSecond.setPreferredSize(new Dimension(250, 40));
labelSecond.setHorizontalAlignment(JLabel.CENTER);
JPanel textPanelFirst = new JPanel();
textPanelFirst.setBackground(Color.white);
JPanel textPanelSecond = new JPanel();
textPanelSecond.setBackground(Color.white);
//Размещение объектов ввода
textPanelFirst.setLayout(new GridLayout(2,2,5,10));
textPanelFirst.add(labelFirst);
textPanelFirst.add(inputFirst);
textPanelFirst.add(labelSecond);
textPanelFirst.add(inputSecond);
//Поля вывода
outputMax.setBackground(Color.white);
outputMin.setBackground(Color.white);
outputAdd.setBackground(Color.white);
outputSub.setBackground(Color.white);
outputMul.setBackground(Color.white);
outputDiv.setBackground(Color.white);
outputMax.setEditable(false);
outputMin.setEditable(false);
outputAdd.setEditable(false);
outputSub.setEditable(false);
outputMul.setEditable(false);
outputDiv.setEditable(false);
outputMax.setFont(font1);
outputMin.setFont(font1);
outputAdd.setFont(font1);
outputSub.setFont(font1);
outputMul.setFont(font1);
outputDiv.setFont(font1);
//Размещение объектов вывода
textPanelSecond.setLayout(new GridLayout(6,1,5,5));
textPanelSecond.add(outputMax);
textPanelSecond.add(outputMin);
textPanelSecond.add(outputAdd);
textPanelSecond.add(outputSub);
textPanelSecond.add(outputMul);
textPanelSecond.add(outputDiv);
container.setLayout(null);
container.add(textPanelFirst);
textPanelFirst.setBounds(5,5,390,80);
container.add(textPanelSecond);
textPanelSecond.setBounds(10,145,350,250);
container.add(button);
button.setBounds(260,90,80,35); }
public static void main(String args[]) {
//Главное окно
DifferentFunctions3 frame = new DifferentFunctions3();
frame.setTitle("Task 3: Different Functions");
frame.setLocation(100, 100);
frame.setSize(430, 440);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true); }
//Обработка событий
public
void actionPerformed(ActionEvent e){
//Проверка на отсутствие введенных символов
if (inputFirst.getText().equals(""))
{
outputMax.setText("You did not enter anything into the first field!");
outputMin.setText("Please, try again.");
outputAdd.setText("");
outputSub.setText("");
outputMul.setText("");
outputDiv.setText(""); }
else if (inputSecond.getText().equals(""))
{
outputMax.setText("You did not enter anything into the second field!");
outputMin.setText("Please, try again.");
outputAdd.setText("");
outputSub.setText("");
outputMul.setText("");
outputDiv.setText("");}
else doCheck(inputFirst.getText(),inputSecond.getText());
inputFirst.setText("");
inputSecond.setText("");
inputFirst.requestFocusInWindow();
}
public void doCheck(String first, String second) {
try {
//Преобразование строки в число. Исключение в случае ввода не числа.
double transFirst = Double.parseDouble(first);
double transSecond = Double.parseDouble(second);
//Расчет
double max = Math.max(transFirst,transSecond);
double min = Math.min(transFirst,transSecond);
outputMax.setText("The maximum number is: " + Double.toString(max)+ " ");
outputMin.setText("The minimum number is: " + Double.toString(min));
outputAdd.setText("Summa is: " + Double.toString(max + min));
outputSub.setText("Raznost is: " + Double.toString(max - min));
outputMul.setText("Proizvedenije is: " + Double.toString(max * min));
o
utputDiv.setText("Chastnoje
is: " + Double.toString(max/min));
} catch (NumberFormatException e) {
outputMax.setText("You have entered LEXEME");
outputMin.setText("Please, try again.");
outputAdd.setText("");
outputSub.setText("");
outputMul.setText("");
outputDiv.setText("");}
} }
Результат роботи програми:
Висновок: В ході виконання завдання була написана програма на алгоритмічній мові Java, в якой виористовуються вмонтовані функції обробки числових даних.
