sneyzi

Laba 12, 2 NetBeans version

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