Автор работы: Пользователь скрыл имя, 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. Тема задания:
Программирование на языке Java и Pascal.
2. Основная
задача работы: закрепить теоретические
знания и практические навыки
программирования на языке Java и Pascal
3. Содержание
пояснительной записки (
3.1 Алгоритмизация 6-ти задач и программирование на языке Java и Pascal.
3.2. Обработка записей в файле на языке Java и Pascal.
3.3 Графический
интерфейс на Java
4. Дата выдачи
задания 15.02.10
5. Срок сдачи
студентом законченной работы 1.06.10
Руководитель:
Задание
принял к исполнению:
Содержание
Языки программирования, программное обеспечение и практика не стоят на месте слишком долго. Часто оказывается, что методы и технические приемы, которые мы применяли вчера, сегодня уже устарели. Конечно, большая скорость изменений – это также одно из обстоятельств, которые делают программирование весьма привлекательным занятием. Всегда есть что-то новое на горизонте. Никакой язык не иллюстрирует предшествующие утверждения лучше, чем Java.
В последние несколько лет Java вырос из концепции в один из всемирно-доминирующих языков программирования. В узком смысле слова, Java – это объектно-ориентированный язык, напоминающий C++, но более простой для освоения и использования. В более широком смысле Java – это целая технология программирования, изначально рассчитанная на интеграцию с Web-сервисом, то есть на использование в сетевой среде.
Данная
курсовая работа выполнена в объектно-
В курсовой работе рассмотрены следующие вопросы:
Основной целью курсовой является решение выданных заданий и подробное описание решений.
Для реализации цели необходимо выполнить следующие задачи:
Массивы в Turbo Pascal во многом схожи с аналогичными типами данных в других языках программирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно, структурированного).
Описание типа массива задается следующим образом:
<имя типа> = ARRAY [ <список индексных типов> ] OF <тип> ;
Здесь <имя типа> - идентификатор;
ARRAY, OF - зарезервированные слова (массив, из);
< список индексных типов > - список из одного или нескольких индексных типов, разделенных запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса;
<тип>
- любой тип Turbo Pascal.
Обычно
в качестве индексного типа используется
тип-диапазон, в котором задаются
границы изменения индексов. Так как тип <тип>,
идущий за словом OF, - любой тип Turbo Pascal,
то он может быть, в частности, и другим
массивом, например:
type
mat = array [0..5] of array [-2..2] of array [Char] of Byte;
Такую запись можно заменить более компактной:
type
mat = array [0..5,-2..2,Char] of Byte.
В Turbo Pascal можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа, например:
var а,b:array [1..5] of Integer;
begin
a := b;
end.
После этого присваивания все пять элементов массива А получат те же значения, что и в массиве В. Однако над массивами не определены операции отношения. Нельзя, например, записать
if a = b then ...
Сравнить
два массива можно поэлементно.
Задание 1.
Дана последовательность чисел Фибоначчи, определяемая соотношением чисел u[1]=1, u[2]=1, u[n] = u[n-1]+u[n-2],n>2. Проверить, будет ли u[5k](k=1,2,...) делиться на 5.
Решение:
Рис. 1
Рисунок кода программы
Алгоритм программы заключается в том, что пока переменная fn_2 меньше или равна разности максимального числа в типе инт и переменной fn_1, то тогда переменной fn присваивается сумма переменных fn_2 и fn_1. Если n будет кратна числу 5 и если fn будет кратна числу 5, то ответ будет положительным. В противном случае – отрицательным.
Результат работы исполняемого кода программы можно увидеть на Рис. 2
.
Рис. 2. Результат работы программы
Задание 2
В квадратной матрице найти наибольший и наименьший элементы среди элементов главной и побочной диагоналей.
Решение:
Рис. 3 Рисунок кода
программы
Рис. 4.
Рисунок кода программы
Алгоритм
программы аналогичен алгоритму программы
на Java.
Результат работы исполняемого кода программы можно увидеть на Рис. 5.
Рис. 5. Результат
работы программы
Задание 3
Имеются
два массива. Один упорядочен по возрастанию
другой по убыванию. Из этих массивов образовать
третий, слиянием элементов, упорядоченный
по убыванию.
Решение:
Рис. 6. Рисунок кода программы
Рис. 7. Рисунок кода
программы
Алгоритм программы заключается в том, что мы заполняем два одномерных массива. Один мы сортируем по возрастанию, другой по убыванию. Сливаем эти два массива в один одномерный массив, размерность которого должна быть соответственно больше в два раза размерности этих массивов. После того, как мы организовали третий массив, вы сортируем его по убыванию.
Результат работы
исполняемого кода программы можно
увидеть на Рис. 8.
Рис. 8. Результат
работы программы
Задание 4
Вычислить произведение двух квадратных матриц. А[1..4].
Решение:
Рис. 9. Рисунок кода
программы
Рис. 10. Рисунок
кода программы
Алгоритм этой программы состоит в том, что мы заполняем два двумерных одинаковых по размерности массива случайным образом. С помощью трех циклов умножаем первую матрицу на вторую матрицу и присваиваем произведение переменной S. Затем нашей третьей матрице присваиваем переменную S, тем самым образуем новую матрицу, которая является произведением двух наших квадратных матриц.
Результат работы
исполняемого кода программы можно
увидеть на Рис. 11.
Рис. 11. Результат
работы программы
Задание 5
В массиве X[1..N] элементы равны 0, 1, или 2. Переставить все элемнеты массива так. Чтобы сначала располагались нули, потом единицы и, наконец, двойки(дополнительного массива не заводить!).
Решение:
Рис. 12. Рисунок
кода программы
Алгоритм
решения состоит в том, что сначала
мы заполняем одномерный массив числами
от 0 до 3, затем сортируем его по возрастанию.
Результат
работы исполняемого кода программы
можно увидеть на Рис. 13.
Рис. 13. Результат
работы программы
Задание 6
Элементы вещественного массива Х[1..N] вычисляются по формуле X[n]=1/n!, n =1,...,N.
Написать программу вычисления элементов массива: а) с использованием процедуры (метода) вычисления факториала; б) без использования процедуры(метода).
Решение:
Рис. 14. Рисунок
кода программы
С помощью подпрограммы:
Рис. 15. Рисунок
кода программы
Алгоритм решения этой программы состоит в том, что создаем массив от 1 до 10 и перебираем его от 1 до 10, заполняя каждый элемент массива переменной s, которая равняется произведению себя на переменную j, изменяющуюся столько же раз, сколько и переменная i. Выводим на экран номер элемента и результат деления 1 на s.
Результат работы
исполняемого кода программы можно
увидеть на Рис. 16.