sneyzi

Laba 12, 2 NetBeans version

Jun 14th, 2021 (edited)
1,431
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 13.70 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6.  
  7. public class Main extends javax.swing.JFrame {
  8.  
  9.     /**
  10.      * Creates new form Main
  11.      */
  12.     public Main() {
  13.         initComponents();
  14.     }
  15.  
  16.     /**
  17.      * This method is called from within the constructor to initialize the form.
  18.      * WARNING: Do NOT modify this code. The content of this method is always
  19.      * regenerated by the Form Editor.
  20.      */
  21.     @SuppressWarnings("unchecked")
  22.     // <editor-fold defaultstate="collapsed" desc="Generated Code">                          
  23.     private void initComponents() {
  24.  
  25.         jScrollPane1 = new javax.swing.JScrollPane();
  26.         jTextArea1 = new javax.swing.JTextArea();
  27.         jPanel1 = new javax.swing.JPanel();
  28.         jCheckBox1 = new javax.swing.JCheckBox();
  29.         jCheckBox2 = new javax.swing.JCheckBox();
  30.         jCheckBox3 = new javax.swing.JCheckBox();
  31.         jTextField1 = new javax.swing.JTextField();
  32.         jTextField2 = new javax.swing.JTextField();
  33.         jTextField3 = new javax.swing.JTextField();
  34.         jLabel1 = new javax.swing.JLabel();
  35.         jLabel2 = new javax.swing.JLabel();
  36.         jLabel3 = new javax.swing.JLabel();
  37.         jMenuBar1 = new javax.swing.JMenuBar();
  38.         jMenu1 = new javax.swing.JMenu();
  39.         jMenuItem1 = new javax.swing.JMenuItem();
  40.         jMenuItem2 = new javax.swing.JMenuItem();
  41.         jMenu2 = new javax.swing.JMenu();
  42.         jMenuItem3 = new javax.swing.JMenuItem();
  43.         jMenuItem4 = new javax.swing.JMenuItem();
  44.         jMenuItem5 = new javax.swing.JMenuItem();
  45.  
  46.         setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  47.  
  48.         jTextArea1.setColumns(20);
  49.         jTextArea1.setRows(5);
  50.         jScrollPane1.setViewportView(jTextArea1);
  51.  
  52.         jCheckBox1.setText("на екран");
  53.         jCheckBox1.addActionListener(new java.awt.event.ActionListener() {
  54.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  55.                 jCheckBox1ActionPerformed(evt);
  56.             }
  57.         });
  58.  
  59.         jCheckBox2.setText("похідна");
  60.  
  61.         jCheckBox3.setText("у масив");
  62.  
  63.         javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
  64.         jPanel1.setLayout(jPanel1Layout);
  65.         jPanel1Layout.setHorizontalGroup(
  66.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  67.             .addGroup(jPanel1Layout.createSequentialGroup()
  68.                 .addContainerGap()
  69.                 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  70.                     .addComponent(jCheckBox1)
  71.                     .addComponent(jCheckBox2)
  72.                     .addComponent(jCheckBox3))
  73.                 .addContainerGap(13, Short.MAX_VALUE))
  74.         );
  75.         jPanel1Layout.setVerticalGroup(
  76.             jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  77.             .addGroup(jPanel1Layout.createSequentialGroup()
  78.                 .addContainerGap()
  79.                 .addComponent(jCheckBox1)
  80.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  81.                 .addComponent(jCheckBox2)
  82.                 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  83.                 .addComponent(jCheckBox3)
  84.                 .addContainerGap(18, Short.MAX_VALUE))
  85.         );
  86.  
  87.         jLabel1.setText("крок");
  88.  
  89.         jLabel2.setText("права межа");
  90.  
  91.         jLabel3.setText("ліва межа");
  92.  
  93.         jMenu1.setText("Обчислення");
  94.  
  95.         jMenuItem1.setText("протабулювати");
  96.         jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
  97.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  98.                 jMenuItem1ActionPerformed(evt);
  99.             }
  100.         });
  101.         jMenu1.add(jMenuItem1);
  102.  
  103.         jMenuItem2.setText("очистити");
  104.         jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
  105.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  106.                 jMenuItem2ActionPerformed(evt);
  107.             }
  108.         });
  109.         jMenu1.add(jMenuItem2);
  110.  
  111.         jMenuBar1.add(jMenu1);
  112.  
  113.         jMenu2.setText("Кінець");
  114.  
  115.         jMenuItem3.setText("про програму");
  116.         jMenu2.add(jMenuItem3);
  117.  
  118.         jMenuItem4.setText("про автора");
  119.         jMenu2.add(jMenuItem4);
  120.  
  121.         jMenuItem5.setText("вихід");
  122.         jMenuItem5.addActionListener(new java.awt.event.ActionListener() {
  123.             public void actionPerformed(java.awt.event.ActionEvent evt) {
  124.                 jMenuItem5ActionPerformed(evt);
  125.             }
  126.         });
  127.         jMenu2.add(jMenuItem5);
  128.  
  129.         jMenuBar1.add(jMenu2);
  130.  
  131.         setJMenuBar(jMenuBar1);
  132.  
  133.         javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  134.         getContentPane().setLayout(layout);
  135.         layout.setHorizontalGroup(
  136.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  137.             .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
  138.                 .addContainerGap()
  139.                 .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 449, Short.MAX_VALUE)
  140.                 .addGap(18, 18, 18)
  141.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  142.                     .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  143.                         .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  144.                         .addComponent(jTextField1)
  145.                         .addComponent(jTextField2)
  146.                         .addComponent(jTextField3))
  147.                     .addComponent(jLabel1)
  148.                     .addComponent(jLabel2)
  149.                     .addComponent(jLabel3))
  150.                 .addGap(25, 25, 25))
  151.         );
  152.         layout.setVerticalGroup(
  153.             layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  154.             .addGroup(layout.createSequentialGroup()
  155.                 .addGap(24, 24, 24)
  156.                 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
  157.                     .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 290, javax.swing.GroupLayout.PREFERRED_SIZE)
  158.                     .addGroup(layout.createSequentialGroup()
  159.                         .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  160.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
  161.                         .addComponent(jLabel3)
  162.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  163.                         .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  164.                         .addGap(5, 5, 5)
  165.                         .addComponent(jLabel2)
  166.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  167.                         .addComponent(jTextField2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
  168.                         .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
  169.                         .addComponent(jLabel1)
  170.                         .addGap(11, 11, 11)
  171.                         .addComponent(jTextField3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
  172.                 .addContainerGap(20, Short.MAX_VALUE))
  173.         );
  174.  
  175.         pack();
  176.     }// </editor-fold>                        
  177.  
  178.     private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  179.         if (jCheckBox1.isSelected()) {
  180.             jTextArea1.setText("x f(x)");// вставляємо рядок з підписами стовпців аргументу і значення функції)
  181.         }
  182.         double a = Double.parseDouble(jTextField1.getText());// Одержуємо числове значення лівої межі
  183.         double b = Double.parseDouble(jTextField2.getText());// Одержуємо числове значення правої межі
  184.         double h = Double.parseDouble(jTextField3.getText());// Одержуємо числове значення кроку
  185.  
  186.         int i = 0, count = 0, maxElementNumber = 0;
  187.  
  188.         double x = a, y; // Починаємо табулювати з лівої межі
  189.         double[] masiv = new double[(int) ((b - a) / h) + 1];
  190.         double min = Math.sin(3 * x) + 1;
  191.  
  192.         while (x <= b) { // поки аргумент х не перевищить праву межу з певним допуском
  193.             y = jCheckBox2.isSelected() ? 3 * Math.cos(3 * x) : Math.sin(3 * x) + 1;
  194.             //y =  2 * Math.cos(x); // Обчислюємо значення функції
  195.             if (jCheckBox3.isSelected()) {
  196.                 masiv[i] = y;
  197.  
  198.                 if (masiv[i] > min) {
  199.                     min = masiv[i];
  200.                     maxElementNumber = i + 1;
  201.                 }
  202.  
  203.                 if (masiv[i] == 0 && i % 2 == 0) {
  204.                     count++;
  205.                 }
  206.  
  207.                 i++;
  208.             }
  209.             if (jCheckBox1.isSelected()) {
  210.                 jTextArea1.append("\n" + x + " " + y + (jCheckBox3.isSelected() ? " -" + i + "ий елемент масиву " : "")); // Вставляємо рядок у поле
  211.             }
  212.             x = x + h; // Збільшуємо аргумент на величину кроку)
  213.         }
  214.         if (jCheckBox3.isSelected()) {
  215.             jTextArea1.append("\nіндекс  максимального  елементу " + maxElementNumber);
  216.             jTextArea1.append("\nкількість нулевих елементів, що стоять на парних місцях " + count);
  217.         }
  218.     }                                          
  219.  
  220.     private void jCheckBox1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  221.         // TODO add your handling code here:
  222.     }                                          
  223.  
  224.     private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  225.         jTextArea1.setText("");
  226.     }                                          
  227.  
  228.     private void jMenuItem5ActionPerformed(java.awt.event.ActionEvent evt) {                                          
  229.         System.exit(0);
  230.     }                                          
  231.  
  232.     /**
  233.      * @param args the command line arguments
  234.      */
  235.     public static void main(String args[]) {
  236.         /* Set the Nimbus look and feel */
  237.         //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
  238.         /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
  239.          * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
  240.          */
  241.         try {
  242.             for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
  243.                 if ("Nimbus".equals(info.getName())) {
  244.                     javax.swing.UIManager.setLookAndFeel(info.getClassName());
  245.                     break;
  246.                 }
  247.             }
  248.         } catch (ClassNotFoundException ex) {
  249.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  250.         } catch (InstantiationException ex) {
  251.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  252.         } catch (IllegalAccessException ex) {
  253.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  254.         } catch (javax.swing.UnsupportedLookAndFeelException ex) {
  255.             java.util.logging.Logger.getLogger(Main.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
  256.         }
  257.         //</editor-fold>
  258.  
  259.         /* Create and display the form */
  260.         java.awt.EventQueue.invokeLater(new Runnable() {
  261.             public void run() {
  262.                 new Main().setVisible(true);
  263.             }
  264.         });
  265.     }
  266.  
  267.     // Variables declaration - do not modify                    
  268.     private javax.swing.JCheckBox jCheckBox1;
  269.     private javax.swing.JCheckBox jCheckBox2;
  270.     private javax.swing.JCheckBox jCheckBox3;
  271.     private javax.swing.JLabel jLabel1;
  272.     private javax.swing.JLabel jLabel2;
  273.     private javax.swing.JLabel jLabel3;
  274.     private javax.swing.JMenu jMenu1;
  275.     private javax.swing.JMenu jMenu2;
  276.     private javax.swing.JMenuBar jMenuBar1;
  277.     private javax.swing.JMenuItem jMenuItem1;
  278.     private javax.swing.JMenuItem jMenuItem2;
  279.     private javax.swing.JMenuItem jMenuItem3;
  280.     private javax.swing.JMenuItem jMenuItem4;
  281.     private javax.swing.JMenuItem jMenuItem5;
  282.     private javax.swing.JPanel jPanel1;
  283.     private javax.swing.JScrollPane jScrollPane1;
  284.     private javax.swing.JTextArea jTextArea1;
  285.     private javax.swing.JTextField jTextField1;
  286.     private javax.swing.JTextField jTextField2;
  287.     private javax.swing.JTextField jTextField3;
  288.     // End of variables declaration                  
  289. }
  290.  
Add Comment
Please, Sign In to add comment