Факультет "Информатика и системы управления"
Методические указания к лабораторной работе
по курсу "Распределенные системы обработки информации"
Основные структуры языка Java
Москва 2004 г.
Цель работы.. 3
Задание для домашней подготовки. 3
Задания к лабораторной работе. 3
Задание 1. 3
Задание 2. 5
Задание 3. 5
Содержание отчета. 6
Контрольные вопросы. 7
Литература. 8
Приложение 1. Встроенные типы данных и основные конструкции языка. 9
Приложение 2. Работа с массивами. 26
Приложение 3. Введение в интегрированную среду разработки Eclipse. 28
Приложение 4. Листинг программы, подсчитывающей , как долго нужно откладывать деньги, чтобы к выходу на пенсию накопить заданную сумму, при условии, что ежегодно откладывается одна и та же сумма и размер счета возрастает в соответствии с процентной ставкойJava. 43
Приложение 5. Листинг программы, иллюстрирующей работу с одномерными массивами (создание и сортировка массива) 45
Приложение 6. Спецификация класса Figure. 47
Получить знания о выражениях и операторах языка Java. Научиться писать программы, производящие простые вычисления и поддерживающие диалог с пользователем, разрабатывать программы, осуществляющие обработку одномерных массивов и строк.
Ознакомиться с материалом, предоставленном в приложении к данным методическим указаниям. Ознакомиться с текстом задания к лабораторной работе в соответствии с вариантом и написать программу.
Номер задания соответствует порядковому номеру в журнале (по модулю 14).
1. Написать программу, которая просит ввести два числа, получает эти два числа от пользователя, а затем печатает сумму, разность, произведение и частное этих чисел.
2. Написать программу, запрашивающую у пользователя три числа и печатающую сумму, произведение, среднее значение, меньшее и большее их этих чисел.
3. Написать программу, принимающую от пользователя радиус круга и печатающую диаметр круга, длину окружности и площадь круга.
4. Написать программу, которая считывает два целых числа, определяет и печатает, является ли первое число кратным второму.
5. Написать программу, которая определяет, является введенное число четным или нечетным.
6. Написать программу, которая вычисляет и печатает квадрат и куб чисел от 1 до 10.
7. Написать программу, которая печатает геометрическую фигуру: прямоугольник, ромб, стрелу:
******* * *
* * * * **
* * * * ***
* * * * *
******* * *
*
8. Написать программу, которая читает размер стороны квадрата и затем печатает звездочками и пробелами пустой квадрат заданного размера.
9. Написать программу, которая читает неотрицательное целое, рассчитывает и печатает его факториал.
10. Написать программу, которая суммирует последовательность целых чисел. Предполагается, что первое прочитанное целое число указывает количество целых чисел, которые будут введены, причем программа должна читать только по одному значению в операторе ввода.
11. Написать программу, которая подсчитывает и печатает среднее значение нескольких целых чисел. Предполагается, что последняя читаемая величина имеет значение 9999.
12. Написать программу, которая находит наименьшее и наибольшее из нескольких чисел. Предполагается, что первое прочитанное число задает количество последующих вводимых чисел.
13. Написать программу, которая считает и печатает произведение нечетных целых чисел от 1 до 15.
14. Написать программу, которая печатает трафареты (А, В, С, D – см. ниже) один под другим. Необходимо использовать цикл for для генерации трафаретов.
* *** *** *
** ** ** **
*** * * ***
А В С D
Одномерные массивы [Л.2 на с.67-70], [Л.3 на с.136-139]. Номер задания соответствует порядковому номеру в журнале (по модулю 20).
Написать программу, которая выводит на консоль геометрическую фигуру: квадрат, прямоугольник или стрелу (в соответствии с вариантом задания):
1)
*******
* *
* *
* *
*******
2)
S S S S
S $ $ S
S $ $ S
S S S S
3)
0 0 0 0 0
0 0
0 0
0 0
0 0
Длина стороны квадрата (сторон прямоугольника / длина стрелки) должны задаваться либо в параметрах командной строки, либо с клавиатуры через консоль после запуска программы.
Символы – заполнители (“*”,“ ”…) также должны либо задаваться в параметрах командной строки, либо назначаться по умолчанию в случае, если программа запущена без параметров. То есть программа при запуске должна определять запущена ли она с параметрами. Если нет – то она должна просить пользователя ввести недостающие размеры с клавиатуры, а символы – заполнители назначаться по умолчанию.
Программа должна быть реализована внутри метода
public static void main(String[] args){
//…
}
с использованием встроенных типов и основных конструкций языка Java.
Также должна быть предусмотрена обработка исключений.
Факультативно (не обязательно): Организовать вывод фигуры в текстовый файл.
В ходе лабораторной работы необходимо отладить написанную дома программу и предъявить работающую программу преподавателю.
Отчет должен содержать:
1. Постановку задачи, решаемой отлаженной программой.
2. Руководство пользователя отлаженной программы, содержащее описание интерфейсов всех функций программы.
3. Листинг программы с необходимыми комментариями.
1. Какие условные операторы есть в языке Java?
2. Какие операторы цикла существуют в языке Java?
3. В чем отличие между операторами цикла for, whileи do-while? Какой синтаксис у этих операторов?
4. Как реализовать оператор gotoc помощью стандартных операторов Java?
5. Почему в блоке switch(){} оператор default ставится в конце.
6. Как уменьшить размер блока оператора switch(){} в данной работе.
7. Какие операции существуют в языке Java?
8. Для чего необходимы операторы условного перехода? Какие операторы условного перехода есть в языке Java?
1. Арнолд К., Гослинг Дж., Холмс Д. Язык программирования Java:Пер. с англ. – М.: Издательский дом «Вильямс», 2001 г. – 624 с., ил.
2. Павловская Т.А., Щупак Ю.А. С/С++. Структурное программирование: Практикум. -СПб.: Питер, 2002. -240с.
3. Павловская Т.А. С/С++. Программирование на языке высокого уровня -СПб.: Питер, 2002. -464с.
Дополнительная
1. Официальный сайт Java — http://java.sun.com/ (есть раздел на русском языке с учебником).
2. Java™ 2 SDK, Standard Edition Documentation — http://java.sun.com/products/jdk/1.5/index.html.
3. ДжеймсГослинг, БиллДжой, ГайСтил. Спецификацияязыка Java (The Java Language Specification — http://www.javasoft.com/docs/books/jls/). Перевод на русский язык — http://www.uni-vologda.ac.ru/java/jls/index.html
4. Официальный сайт проекта Eclipse — http://www.eclipse.org/.
А также
1. Дмитрий Рамодин. Начинаем программировать на языке Java.
2. Николай Смирнов. Java 2: Учебное пособие.
3. Картузов А. В. Программирование на языке Java.
4. Вязовик Н.А. Программирование на Java.
5. Алексей Литвинюк. Введение в интегрированную среду разработки Eclipse — http://lib.juga.ru/article/articleview/174/1/69/.
Приложение 1. Встроенные типы данных и основные конструкции языка
Константы
В языке Java можно записывать константы разных типов в разных видах. Перечислим их.
Целые
Целые константы можно записывать в трех системах счисления:
· в десятичной форме: +5, -7, 12345678;
· в восьмеричной форме, начиная с нуля: 027, -0326, 0777; в записи таких констант недопустимы цифры 8 и 9;
· в шестнадцатеричной форме, начиная с нуля и латинской буквы х или X: 0xff0a, 0xFC2D, 0x45a8, 0X77FF; здесь строчные и прописные буквы не различаются.
Целые константы хранятся в формате типа int.
В конце целой константы можно записать букву прописную L или строчную l, тогда константа будет сохраняться в длинном формате типа long: +25L, -0371, OxffL, OXDFDF1.
Действительные
Действительные константы записываются только в десятичной системе счисления в двух формах:
· c фиксированной точкой: 37.25, -128.678967, +27.035;
· с плавающей точкой: 2.5е34, -0.345е-25, 37.2Е+4; можно писать строчную или прописную латинскую букву Е; пробелы и скобки недопустимы.
В конце действительной константы можно поставить букву F или f, тогда константа будет сохраняться в формате типа float: 3.5f, -45.67F, 4.7e-5f. Можно приписать и букву D (или d): 0.045D, -456.77889d, означающую тип double, но это излишне, поскольку действительные константы и так хранятся в формате типа double.
Символы
Для записи одиночных символов используются следующие формы.
· Печатные символы можно записать в апострофах: 'а', 'N', '?'.
· Управляющие символы записываются в апострофах с обратной наклонной чертой:
o '\n' — символ перевода строки newline с кодом ASCII 10;
o '\r' — символ возврата каретки CR с кодом 13;
o '\f' — символ перевода страницы FF с кодом 12;
o '\b' — символ возврата на шаг BS с кодом 8;
o '\t' — символ горизонтальной табуляции НТ с кодом 9;
o '\' — обратная наклонная черта;
o '\"' — кавычка;
o '\'' — апостроф.
· Код любого символа с десятичной кодировкой от 0 до 255 можно задать, записав его не более чем тремя цифрами в восьмеричной системе счисления в апострофах после обратной наклонной черты: '\123' — буква S, '\346' — буква Ж в кодировке СР1251.
· Код любого символа в кодировке Unicode набирается в апострофах после обратной наклонной черты и латинской буквы ц ровно четырьмя шестнад-цатеричными цифрами: '\u0053' — буква S, '\u0416' — буква Ж.