Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой_ТСПП_Женька.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.69 Mб
Скачать

З авдання № 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, в якой виористовуються вмонтовані функції обробки числових даних.