Программирование на языке Java и Pascal

Автор работы: Пользователь скрыл имя, 20 Декабря 2011 в 11:21, курсовая работа

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

Основной целью курсовой является решение выданных заданий и подробное описание решений.

Для реализации цели необходимо выполнить следующие задачи:
Показать умение работать с операторами циклов, строками, матрицами и, как частный случай, массивами. Результат – небольшие программы написанные на Java и Pascal
Создать файл соответствующей предметной области
Реализовать задачу II на Java с графическим интерфейсом и максимальным использованием всех компонентов пакета Swing

Содержание работы

Введение 4
Глава 1. Алгоритмизация - работа с массивами на Pascal и Java 5
Массивы в Pascal 5
Решение задач на работу с массивами на алгоритмическом
языке Pascal 6
1.2 Массивы в Java 17
Решение задач на работу с массивами на алгоритмическом
языке Java 19
На Turbo Pascal 28
Глава 3. Разработка графического интерфейса на Java 60
Заключение 67
Литература 68
Приложение А 69
Приложение Б 70
Приложение В 71
Приложение Г 73
Приложение Д 74
Приложение Е 75
Приложение Ж 76
Приложение З 77
Приложение И 78
Приложение К 80
Приложение Л 81
Приложение М 82
Приложение Н 83
Приложение О 87
Приложение П 91
Пояснительная записка 104

Содержимое работы - 1 файл

Курсовая работа.doc

— 1.81 Мб (Скачать файл)
    1. public double nval;
    2. public String sval;
    3. public int ttype.

    и 4 константы int:

    1. TT_WORD – текущая лексема-слово (сохраняется в поле sval);
    2. TT_NUMBER – текущая лексема-число (сохраняется в nval);
    3. TT_EOL – текущая лексема-символ «Конец строки»;
    4. TT_EOF – текущая лексема-символ «Конец файла».
 

     Метод nextToken(), распознавая следующую лексему, возвращает ее тип (1-4) или код лексемы - одиночный символ.

Класс RandomAccessFile

     Этот  класс реализует сразу два  интерфейса – DataInput и DataOutput – следовательно, может производить запись и чтение всех примитивных типов Java. Эти операции, как следует из названия, производятся с файлом.

     После создания объекта RandomAccessFile можно воспользоваться методами интерфейсов DataInput и DataOutput для проведения с файлом операций считывания и записи.

     Конструкторы:

    • public RandomAccessFile(String name, String mode) throws IOException, где mode может быть либо “r”  либо “rw”, что означает, файл открыт только для чтения или еще и для записи;
    • public RandomAccessFile(File file, String mode) throws IOException.

     Методы:

  • public long getFilePointer() – текущее смещение от начала файла (в байтах);
  • public void seek (long pos) – установка указателя в заданную позицию в байтах;
  • public long length() – длна файла (в байтах);
  • public void setLength(long len) – установить длину файла.

 

Задание

     Разработать структуру записей (классов) для  следующей предметной области Складское предприятие. Создать файл соответствующей предметной области  и реализовать следующие запросы и обработку:

      • Вывод всей информации из файла;
      • Найти запись по специфицированному полю;
      • Найти совокупность записей, отвечающих определенной спецификации;
      • Внести изменения в специфицированную запись;
      • Добавить новую запись в файл.

Решение 
 

Рис. 42. Код программы 

Рис. 43. Код программы 

Рис. 44. Код программы 
 

Рис. 45. Код программы 
 
 

     Идея решения задачи на языке программирования Java аналогична идее решения на Pascal. Отличается лишь только добавление новой записи в файл. Если на Pascal файл переписывается, то на Java новая запись добавляется в конец файла без переписывания.

     Программа работает с текстовым файлом «new.txt» (Рис. 46, 47).

       

Рис. 46. Исходный текстовый файл, который считывается и изменяется 

     

Рис. 47. Исходный текстовый файл, который считывается и изменяется 

     Для удобства использования программы  сделано меню, которое позволяет  выбрать нужное действие над файлом. Меню показано на Рис.48.

     

Рис. 48. Меню

     При выборе первого пункта «Вывести всю информацию из файла», выводится вся информация складах (Рис. 49, 50, 51.).

     

      

Рис. 49. Результат выбора первого пункта меню

 

Рис. 50. Результат выбора первого пункта меню

 

Рис. 51. Результат выбора первого пункта меню 

     Строка  «Хотите повторить запрос?» просит ввести «y» для согласия и «n» для отказа. При вводе «y» снова появляется меню, при вводе «n» осуществляется выход из программы.

     При выборе второго пункта «Вывести информацию об определенном складе», следует ввести номер склада, свойства которого вы хотите увидеть. Искомые свойства выводятся на экран (Рис. 52.). 

Рис. 52. Результат выбора второго пункта меню 

     При выборе третьего пункта «Вывести склады с общим содержимым», пользователю необходимо ввести содержимое одного из складов. Если склады с таким содержанием имеются, информация о них будет выведена на экран. (Рис. 53.). 

  

Рис. 53. Результат выбора третьего пункта меню 
 
 
 
 
 
 
 
 
 
 

     При выборе четвертого пункта «Изменить свойства конкретного склада», также следует ввести номер склада, свойства которого хотите изменить. Далее пользователю будет предложено ввести свои свойства. Затем снова выводится список свойств с уже измененными свойствами искомого склада (Рис. 54.).

       

                      Рис. 54. Результат выбора четвертого пункта меню 
 

     При выборе пятого пункта «Добавить информацию о новом складе», следует ввести через пробел или клавишу TAB: номер склада, фамилию хозяина склада, площадь склада и содержание склада. Информация добавится в текстовый файл. Для проверки информация считается с файла и выведется на экран. (Рис. 55, 56).

Рис. 55. Результат выбора пятого пункта меню

Рис. 56. Результат выбора пятого пункта меню 
 

     Для того чтобы полностью удостоверится, что запись была действительно добавлена в файл «new.txt», добавлен скриншот файла после добавления новой записи (Рис. 57.).

Рис. 57. Скриншот текстового файла после добавления новой записи 

     При выборе шестого пункта «Выход» программа завершает свою работу. 

     Код программы Chast_2 вы можете посмотреть в приложении О.

 

     Глава 3. Разработка графического интерфейса на Java

     В Java есть 2 основных пакета для создания графических интерфейсов (Graphics User Interface). Это Abstract Windows Toolkit (AWT) и Swing. AWT использует виджеты операционной системы, поэтому эта библиотека немного быстрее. На мой взгляд, Swing более хорошо спроектирован.

     Для группировки компонент интерфейса используются контейнеры (Container). Чаще всего используется контейнер JFrame (есть еще JWindows и JApplet). Методы, которые могут понадобиться:

     setBounds(x, y, w, h) - указывает координаты верхней левой вершины окна, а также его ширину и высоту.

     setResizable(bool) - указывает, можно ли изменять размер окна.

     setTitle(str) - устанавливает название окна.

     setVisible(bool) - отображает окно.

     setDefaultCloseOperation(operation) - указывает операцию, которая будет произведена при закрытии окна. 

Элементы управления:

     Большинство элементов управления (кнопки, текстовые  поля, метки, списки, панели, панели прокрутки, таблицы и т.д.) являются наследниками класса JComponent пакета javax.swing. В классе JComponent определены основные свойства и методы, присущие большей части элементов управления:

     setPreferredSize(Dimension d) – установка размера элемента управления. Dimension – объект представляющий пару чисел width (ширина) и height (высота)

     setBackground(Color c) – установка цвета фона. Color можно установить из набора констант, например Color.RED.

     setForeground(Color c) – установка цвета содержимого

     setEnabled(Boolean b) – установка активности элемента управления

     setVisible(Boolean b) – установка видимости элемента управления 
 
 
 
 

  1. Метка (JLabel)

     Элемент управления Метка используется для  отображения текста на форме. Метод setText(String s) используется для задания текста метки. 

  1. Список (JList)

     Список  предназначен для отображения набора однородных элементов (например, строк) и предоставления пользователю возможности выбора элементов списка. Для добавления элементов в список используется простой метод setListData(Object o[]) 

  1. Панель  прокрутки (JScrollPane)

     Используется  в качестве контейнера для элементов  управления, для которых необходимо обеспечение прокрутки. Например, если создается список (JList), и содержимое списка может быть достаточно большим, т.е. выйти за пределы заданной области, то список помещается в панель прокрутки. Для того, чтобы добавить элемент управления в панель прокрутки нужно вызвать метод getViewport(), который возвращает ссылку на внутреннюю панель панели прокрутки, и затем вызвать метод add(Component c). 
 

  1. Панель  закладок (JTabbedPane)

     Панель  закладок представляет собой контейнер  элементов управления (чаще всего других панелей), где каждый элемент управления (панель) представлен закладкой. Для добавления компонента-закладки на панель закладок используется метод add(Component c, Object o), в который помимо компонента-закладки можно указать объект (обычно строковый), который будет отображен в закладке. 
 

  1. Текстовое поле (JTextField)

     Текстовое поле – прямоугольное окно, предназначенное  для отображения, ввода и редактирования текста. В Java текстовое поле представлено классом JTextField пакета javax.swing. Класс JTextField является наследником класса JComponent, в котором содержится большая часть свойств и методов элементов управления. 
 

Информация о работе Программирование на языке Java и Pascal