Технология программирования

Автор работы: Пользователь скрыл имя, 02 Сентября 2013 в 19:22, лабораторная работа

Краткое описание

Цель: обретение навыков объектно-ориентированного программирования.
Задачи:
• изучение предметной области;
• изучение принципов объектно-ориентированного программирования;
• проработка структуры программы;
• реализация программы.

Содержание

Цели и задачи 3
Теоретические сведения 4
Практическое задание 5
Вид программы 11
Литература 12

Вложенные файлы: 1 файл

Лабораторная работа 5. Технологии программирования.doc

— 413.00 Кб (Скачать файл)

Федеральное агентство  по образованию

Государственного образовательного учреждения

Высшего профессионального образования

«Омский государственный технический  университет»

 

 

 

 

 

Лабораторная работа №5

На тему: «Технология  программирования»

 

 

 

 

 

 

                                                                               

 

 

                                   

 

 

 

 

 

 

 

Оглавление

 

Цели и задачи

 

Цель: обретение навыков объектно-ориентированного программирования.

 

Задачи:

  • изучение предметной области;
  • изучение принципов объектно-ориентированного программирования;
  • проработка структуры программы;
  • реализация программы.

Материально – техническое оснащение:

Среда разработки: Java

 

Теоретические сведения

        Объектно-ориентированное программирование представляет собой метод программирования, который весьма близко напоминает наше поведение. Оно является естественной эволюцией более ранних нововведений в разработке языков программирования. Объектно-ориентированное программирование является более структурным, чем все предыдущие разработки, касающиеся структурного программирования. Оно также является более модульным и более абстрактным, чем предыдущие попытки абстрагирования данных и переноса деталей программирования на внутренний уровень. Объектно-ориентированный язык программирования характеризуется тремя основными свойствами:

  1. Инкапсуляция. Комбинирование записей с процедурами и функциями, манипулирующими полями этих записей, формирует новый тип данных - объект.
  2. Наследование. Определение объекта и его дальнейшее использование для построения иерархии порожденных объектов с возможностью для каждого порожденного объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов.
  3. Полиморфизм. Присваивание действию одного имени, которое затем совместно используется вниз и вверх по иерархии объектов, причем каждый объект иерархии выполняет это действие способом, именно ему подходящим.

 

            

 

Практическое задание

Обработка информации в табличной форме

            Цель работы:   обработка информации, представленной в табличной форме.   

            Практическая работа: посвящена разработке приложения для обработки экономической информации, представленной в табличной форме.

            Для работы с таблицей создадим  форму (рис. 1)

           

                             Рис. 1. Форма для работы с таблицей

 

Создаем данную форму:

 

import java.awt.BorderLayout;

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

 

 

 

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTabbedPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

 

 

 

 

import javax.swing.border.BevelBorder;

import javax.swing.border.LineBorder;

import javax.swing.border.SoftBevelBorder;

 

 

 

 

public class tabl1 extends JFrame {

 

static JTextField t1=new JTextField(10);

static JTextField t2=new JTextField(10);

static JTextField t3=new JTextField(10);

static JTextField t4=new JTextField(10);

 

static JTextField g1=new JTextField(10);

static JTextField g2=new JTextField(10);

static JTextField g3=new JTextField(10);

static JTextField g4=new JTextField(10);

 

static JTextField k1=new JTextField(10);

static JTextField k2=new JTextField(10);

static JTextField k3=new JTextField(10);

static JTextField k4=new JTextField(10);

 

static JTextField k5=new JTextField(10);

static JTextField k6=new JTextField(10);

static JTextField k7=new JTextField(10);

static JTextField k8=new JTextField(10);

 

static JTextField k9=new JTextField(10);

static JTextField k10=new JTextField(10);

static JTextField k11=new JTextField(10);

static JTextField k12=new JTextField(10);

 

static JTextField k13=new JTextField(10);

static JTextField k14=new JTextField(10);

static JTextField k15=new JTextField(10);

static JTextField k16=new JTextField(10);

JButton b8 = new JButton("Выход");

    public tabl1() {

 

        super("Таблица 'У Ганса'");

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

 

        Font font = new Font("New Times Roman", Font.BOLD, 12);

        final JTabbedPane tabbedPane = new JTabbedPane();

     

        tabbedPane.setFont(font);

        JLabel l1 = new JLabel("        № товара");

        JLabel l2 = new JLabel("            Товар");

        JLabel l3 = new JLabel("        1 квартал");

        JLabel l4 = new JLabel("        2 квартал");

        JLabel l5 = new JLabel("        3 квартал");

       final JLabel l6 = new JLabel("        4 квартал");

        l1.setBorder(new LineBorder(Color.BLACK));

        l2.setBorder(new LineBorder(Color.BLACK));

        l3.setBorder(new LineBorder(Color.BLACK));

        l4.setBorder(new LineBorder(Color.BLACK));

        l5.setBorder(new LineBorder(Color.BLACK));

        l6.setBorder(new LineBorder(Color.BLACK));

        final JPanel pn1 = new JPanel();

    

        tabbedPane.addTab("Пекарня 'У Ганса'",new ImageIcon("1.jpg"),pn1);

      

        JPanel tabl1=new JPanel();

     

        tabl1.setLayout(new GridLayout(5,5));

        tabl1.setBorder(new SoftBevelBorder(BevelBorder.RAISED,

        null, null, null, null));

        tabl1.add(l1); tabl1.add(l2); tabl1.add(l3); tabl1.add(l4); tabl1.add(l5); tabl1.add(l6);

        tabl1.add(g1); tabl1.add(t1);tabl1.add(k1);tabl1.add(k5);tabl1.add(k9);tabl1.add(k13);

        tabl1.add(g2); tabl1.add(t2);tabl1.add(k2);tabl1.add(k6);tabl1.add(k10);tabl1.add(k14);

        tabl1.add(g3); tabl1.add(t3);tabl1.add(k3);tabl1.add(k7);tabl1.add(k11);tabl1.add(k15);

        tabl1.add(g4); tabl1.add(t4);tabl1.add(k4);tabl1.add(k8);tabl1.add(k12);tabl1.add(k16);

      

      

        pn1.add(tabl1);

        final JTextArea s=new JTextArea(4,15);

        final JTextArea s1=new JTextArea(4,15);

        final JTextArea s2=new JTextArea(4,15);

        final JTextArea s3=new JTextArea(4,15);

        final JPanel pn2 = new JPanel();

        tabbedPane.addTab( "Анализ данных",new ImageIcon("2.png"),pn2);

 

        JPanel tabl2=new JPanel();

      

        tabl2.setBorder(new SoftBevelBorder(BevelBorder.RAISED, null, null, null, null));

        tabl2.setSize(100,50);

        tabl2.setLayout(new GridLayout(2,2));

        tabl2.add(s);

        tabl2.add(s1);

        tabl2.add(s2);

        tabl2.add(s3);

        pn2.add(tabl2);

      

        s.setBorder(BorderFactory.createTitledBorder(("Сумма  за каждый квартал:")));

        s1.setBorder(BorderFactory.createTitledBorder(("Max и min суммы продаж:")));

        s2.setBorder(BorderFactory.createTitledBorder(("Товар(мах  сумма продаж):")));

        s3.setBorder(BorderFactory.createTitledBorder(("Квартал(мах  сумма продаж):")));

       

      final  Color col1=new Color(255,255,160);

       

      final  Color col2=new Color(255,200,255);

       

       

       

       

       

        JPanel buttons = new JPanel();

        JPanel content = new JPanel();

     

        content.setLayout(new BorderLayout());

 

        content.add(buttons, BorderLayout.SOUTH);

       

       

     

 

        JButton b1 = new JButton("№  товара");

        b1.setFont(font);

        JButton b2 = new JButton("товар");

        b1.setFont(font);

        JButton b3 = new JButton("1 квартал");

        b1.setFont(font);

        JButton b4 = new JButton("2 квартал");

        b4.setFont(font);

        JButton b5 = new JButton("3 квартал");

        b5.setFont(font);

        JButton b6 = new JButton("4 квартал");

        b6.setFont(font);

        b1.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

             g1.setText("1");

             g2.setText("2");

             g3.setText("3");

             g4.setText("4");

             

            }

        });

        buttons.add(b1);

        b2.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

             t1.setText("Булочки");

             t2.setText("Коржики");

            t3.setText("Торты");

            t4.setText("Пирожные");

             

            }

        });

        buttons.add(b2);

        b3.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

             k1.setText("            11 250");

             k2.setText("            10 900");

             k3.setText("            12 100");

             k4.setText("             7 020");

             

            }

        });

        buttons.add(b3);

        b4.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

             k5.setText("            10 500");

             k6.setText("            11 400");

             k7.setText("            11 500");

             k8.setText("             8 300");

             

            }

        });

        buttons.add(b4);

        b5.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

              k9.setText("            11 456");

             k10.setText("            10 455");

             k11.setText("             8 789");

             k12.setText("             9 444");

             

            }

        });

        buttons.add(b5);

        b6.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(0);

             k13.setText("             7 054");

             k14.setText("            12 250");

             k15.setText("            10 250");

             k16.setText("             8 652");

             

            }

        });

        buttons.add(b6);

       

      

        JButton b9 = new JButton("Анализ");

        b9.setFont(font);

        b9.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {

             tabbedPane.setSelectedIndex(1);

             s.setText("");

             s1.setText("");

             s2.setText("");

             t2.setBackground(col1);

             

             s.append("Sum1=41 270  "+"\nSum2=41 700  "+"\nSum3=40 144  "+"\nSum4=38 206  "+"\nSum(год)=161 320  ");

             s1.append("Sum2(max)=41 700  "+"\nSum4(min)=38 206  ");

             

             k5.setBackground(col2);

             k6.setBackground(col2);

             k7.setBackground(col2);

             k8.setBackground(col2);

             

Информация о работе Технология программирования