Программирование на языке 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 Мб (Скачать файл)

procedure poisk;

var

  i: integer;

begin

  for i := 0 to W-1 do

   if nam = data[i].nazv then

    writeln(Data[i].Nazv:10, Data[i].art:10, Data[i].kolvo:10, Data[i].prize:5);

end;

//процедура поиска  товара с конкретной ценой

procedure find;

var

  i: integer;

  cena: integer;

begin

  writeln('Товар  какой цены вы хотели бы  найти?');

  readln(cena);

  for i := 0 to W-1 do

   if cena = Data[i].prize then

    writeln(Data[i].Nazv:10, Data[i].art:10, Data[i].kolvo:10, Data[i].prize:5);

end; 

//основное тело программы

begin

  Fna := 'Sklad.txt';

  Load(Fna); //загружаем файл

  OK := true;

repeat

  writeln;

  writeln;

  writeln('Что вы  хотите сделать с файлом?'); //выводим меню

  writeln;

  writeln('1: Вывести  всю информацию из файла');

  writeln('2: Найти  атрибуты товара');

  writeln('3: Изменить  атрибуты товара');

  writeln('4: Найти  товар с нужной вам ценой');

  writeln('5: Добавить  информацию о новом товаре  в файл');

  writeln('6: Выход');

readln(menu);

case menu of

     1: begin

         writeln('Информация о товарах, прочитанная с файла');

         writeln;

         Print; //выводим информацию из файла

        end;

     2: begin

         writeln('Атрибуты товара, который вы  хотите найти');

         writeln;

         readln(nam);

         writeln;

         poisk;//вызываем процедуру поиска по названию товара

        end;

     3: begin

         writeln('Атрибуты товара, который вы  хотите изменить');

         Edit(Fna); //вызов процедуры изменения свойств товара

        end;

     4: find;

     5: begin

         writeln('Добавить новые атрибуты в товар');

         readln(newS); //добавление новой записи в файл

         Zapis(Fna, newS);

         writeln;

         writeln('Информация, добавленная в файл', Fna);

         Load(Fna); //вызов процедуры загрузки информации из файла

         writeln;

         Print; //процедуры вывода информации на экран

        end;

     6: exit;

end;

  writeln;

  writeln('Хотите  вы повторить свои действия?(y/n)');

  readln(input_2);

  if (input_2='n') or (input_2='N') then

  OK := false;

  writeln;

  Until (OK = false); // цикл прерывается

  Readln;

end.

 

Приложение  О

//подключение   библиотеки ввода/вывода

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.RandomAccessFile;

import java.io.StreamTokenizer;

import java.util.*; 

public class Chast_2{ 

//в массив вводятся хозяева

      public static String owner[]=new String[200];

//в массив вводятся  вместимости

      public static int vmestimost []=new int[200];

//в массив вводятся номера

      public static String number[]=new String[200];

//в массив вводятся содержания складов

      public static String soderganie[]=new String[200];

      public static int i=0; //счетчик

      public static int r=0; //переменная в дальнейшем будет указывать размер

            //вышезаданных массивов

//метод для ввода данных с клавиатуры

     public static String vvod() throws Exception{

            byte b[]=new byte[200];

//формирование  массива в строку

            System.in.read(b);

            String s=new String(b);

//удаление лишних  пробелов

            s=s.trim();

            return s;

      }

//метод, позволяющий вводить содержимое файла по массивам 

      public static void loadFile(String file) throws Exception{

            i=0; 

            RandomAccessFile access=new RandomAccessFile(file, "rw");

            String s;

            while(((s=access.readLine())!=null)){

                  StringTokenizer d=new StringTokenizer(s);

                  while(d.hasMoreTokens()) {// заполнение остальных массивов

                        number[i]=d.nextToken();

                        owner[i]=d.nextToken();

                        vmestimost[i]=Integer.parseInt(d.nextToken());

                        soderganie[i]=d.nextToken();

                  }

                  i++;

                  r=i;

            }

            }

//метод служит  для вывода массива на экран

      public static void print(){

            System.out.println("Номер "+"Хозяин "+"Площадь "+   "Что лежит ");

           for (i=0;i<r;i++)

              System.out.println(number[i]+" "+owner[i]+" "+vmestimost[i]+" "+soderganie[i]);

      } 

//метод, в котором  файл обрабатывается

    public static void method(String file) throws Exception{

// загрузка файла

     loadFile(file);

//нужна для организации  повтора программного кода, который находится ниже в //теле оператора do....while

     boolean OK=true;

      do{

/*создание меню*/

         System.out.println("Что вы хотите сделать с файлом?");

            System.out.println("1: Показать содержимое файла");

            System.out.println("2: Вывести информацию об определенном складе");

            System.out.println("3: Вывести склады с общим содержимым");

            System.out.println("4: Изменить свойства конкретного склада");

            System.out.println("5: Добавить в файл информацию о новом складе");

            System.out.println("6: Выход!!!");

//пункт меню, вводимый  с клавиатуры

            int point=Integer.parseInt(vvod());

//описание случаев пункта меню

        switch (point){

         case 1:

               System.out.println("Исходная  информация о складах:");

               print();//вызов метода печати массивов

               break;

         case 2:

               System.out.println("Свойства какого склада вы хотите увидеть?");

                 String vvod=vvod();//вводится марка машины

                 for (i=0;i<r;i++)

//если вводимый  нами номер равен однму из  номеров в массиве выводятся  свойства вводимого нами номера  склада 

                    if (vvod.equalsIgnoreCase(number[i]))

                    System.out.println(number[i]+" "+owner[i]+" "+vmestimost[i]+" "+soderganie[i]); 

                break;

         case 3:

               System.out.println("Склады с каким содержимым вы хотите увидеть?");

               vvod=vvod();//вводится содержание склада

                int kol=0; //счетчик

                for (i=0;i<r;i++)

              if (vvod.equalsIgnoreCase(soderganie[i])){

               System.out.println(number[i]+" "+owner[i]+" "+vmestimost[i]+" "+soderganie[i]);

               kol++;

              }

                if (kol==0) //если он равен нулю, то складов с таким содержи 
//мым нет

                 System.out.println("Складов с содержимым "+vvod+" нет");

                break;

         case 4:

               System.out.println("Свойства какой склада вы хотите изменить?");

               vvod=vvod();//вводим номер искомого вклада

                for (i=0;i<r;i++)

//находим искомый  склад в массиве       

 if (number[i].equalsIgnoreCase(vvod)){

//изменяем свойства  данного склада

                   System.out.println("Введите нового хозяина:");

               owner[i]=vvod();

               System.out.println("Введите новую вместимость:");

               vmestimost[i]=Integer.parseInt(vvod());

               System.out.println("Введите новое содержание:");

               soderganie[i]=vvod();

              }

                FileOutputStream output=new FileOutputStream(file);

              for (i=0;i<r;i++)

//переписываем  измененной информацией старый  файл

                  output.write((number[i]+" "+owner[i]+" "+vmestimost[i]+" "+soderganie[i]+"\n").getBytes());

             output.close(); //закрытие выходного потока 

                 System.out.println();

             print();

           break;

         case 5:

               RandomAccessFile das=new RandomAccessFile(file, "rw");

     System.out.println("Введите данные о складе через клавишу TAB");

//в переменной  содержится информация о новом складе

     String write=vvod(); 

//в переменной  содержится длина файла в байтах

           long a=das.length();

//устанавливается  новая длина файла: к старой длине файла прибавляется длина //строки write

        das.setLength(das.length()+write.length());

           das.seek(a);

//установка указатель на позицию,равную длине исходного файла, т.е. в конец //сходного файла

           das.writeBytes(write+"\n");//запись содержимого строки write

           das.close();

           System.out.println("Запись добавлена в файл: "+file);

           loadFile(file);

           print(); //печать

           break;

         case 6: System.exit(0); //если выбран пункт 6, то программа завераша  //ет свою работу

        }

     System.out.println("Повторить запрос?(y/n)");

//в переменной  находится либо символ 'y' либо 'n'

      String vvod=vvod();

       if (vvod.equalsIgnoreCase("n"))

//если был введен символ n, переменной ОК присваивается false и цикл прерыва //ется

        OK=false;

      }

      while(OK);

      }

      public static void main (String args []){ //главный метод программы

      try{

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