- •Часть 1
- •Часть 1
- •Введение
- •Лабораторная работа № 1 разработка схем алгоритмов
- •Краткая теория Этапы решения задач на эвм
- •Определение алгоритма и способы его описания
- •Правила оформления схем алгоритмов
- •Типы алгоритмов
- •Задания
- •Построение схем алгоритмов с помощью текстового редактора word
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 2 работа в среде netbeans. Создание простейших программ с линейным алгоритмом
- •Краткая теория Установка ide NetBeans
- •Общие правила создания приложений
- •Работа с проектом NetBeans
- •Пример создания простейшего приложения
- •Общие правила построения класса
- •Типы данных
- •Объявление переменных
- •Оператор присваивания
- •Приведение типов
- •Организация ввода данных
- •Организация вывода данных
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 3 разработка простейших приложений на базе разветвляющихся алгоритмов
- •Краткая теория Средства переименования в среде NetBeans
- •Отладка кода в среде NetBeans
- •Условный оператор if-else
- •Условный оператор switch
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 4 разработка программ с циклами со счетчиком
- •Краткая теория Циклы со счетчиком
- •Особенности алгоритмов и программ с накапливанием
- •Методы класса Math
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 5 работа с итерационными циклами. Одномерные массивы
- •Краткая теория Итерационные циклы
- •Цикл while
- •Цикл do-while
- •Одномерные массивы
- •Подсчет суммы, количества и среднего значения в одномерных массивах
- •Нахождение минимума и максимума
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 6 алгоритмы сортировки и разбиения одномерных массивов
- •Краткая теория Сортировка одномерных массивов
- •Разбиение одномерных массивов
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 7 обработка двумерных массивов
- •Краткая теория Понятие многомерных массивов. Ввод и вывод матриц
- •Типовые алгоритмы обработки матриц
- •Алгоритмы обработки матриц в целом
- •Алгоритмы обработки матриц по строкам и столбцам
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 8 диагонали матрицы, умножение матриц
- •Краткая теория Обработка главной и побочной диагоналей матриц
- •Работа с диагоналями матриц выше и ниже главной/побочной
- •Умножение матриц
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 9 обработка строк класса string
- •Краткая теория Создание объектов класса String
- •Методы класса String
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 10 алгоритмы и программы обработки фрагментов строк класса string
- •Краткая теория Сравнение символов строк класса String
- •Типовые задачи обработки массивов строк (слов из текста)
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 11 разработка алгоритмов и программ с использованием классов StringBuffer/StringBuilder
- •Краткая теория Создание и обработка объектов классов stringbuffer и stringbuilder
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Лабораторная работа № 12 разработка собственных методов
- •Краткая теория Общие правила создания методов класса
- •Описание методов класса
- •Вызов методов класса
- •Передача параметров
- •Содержание
- •Задания
- •Содержание отчета
- •Контрольные вопросы
- •Библиографический список
- •Программирование на Java
- •443100, Г. Самара, ул. Молодогвардейская, 244. Главный корпус
- •443100, Г. Самара, ул. Молодогвардейская, 244. Корпус № 8
Задания
Задания выполнять с использованием объектов класса StringBuffer. Для выделения слов применить метод, алгоритм которого приведен в задаче 11.1 данной лабораторной работы (метод split() не использовать).
Задание 11.1. Работа с классом StringBuffer. Ввести в ЭВМ предложение. Выделить слова из предложения в массив для случая, когда количество пробелов между словами произвольно, вывести их на экран.
Задание 11.2. Ввести в ЭВМ предложение. Выделить слова и отсортировать их в алфавитном порядке.
Задание 11.3. Ввести в ЭВМ предложение. Выделить слова и отсортировать их по возрастанию (убыванию длины).
Задание 11.4. Ввести в ЭВМ предложение. Организовать поиск слова, введенного с клавиатуры, в предложении. Выдать сообщение о его наличии и его номер.
Содержание отчета
Готовится один отчет на бригаду в печатном виде для заданий, указанных в лабораторной работе. Он должен содержать следующие разделы:
титульный лист;
задание;
словесное описание алгоритма;
схему алгоритма;
текст программы на языке Java.
Контрольные вопросы
1. Для каких объектов используются классы StringBuilder и StringBuffer и чем они отличаются друг от друга и от класса String?
2. Какие методы классов StringBuilder и StringBuffer являются наиболее распространенными?
3. Можно ли для объектов этих классов использовать методы класса String?
4. Как выполняется преобразование строки классов StringBuilder и StringBuffer в String?
5. Приведите алгоритм выделения слов с произвольным количеством пробелов.
Лабораторная работа № 12 разработка собственных методов
Цель работы – получение навыков работы по созданию собственных методов.
Источники: [3, с. 130-153], [4, с. 159-170].
Краткая теория Общие правила создания методов класса
В разрабатываемых приложениях до сих пор использовался один класс с методом main(), в котором реализовался весь алгоритм программы. Следует отметить, что пользователь может создавать собственные методы в классе для выполнения каких-то действий. Использование этих методов в программе ничем не отличается от использования методов классов из стандартных библиотек Java, продемонстрированных в предыдущих лабораторных работах для объектов классов String, StringBuffer (StringBuilder) (табл. 10.1 и 11.1).
Рассмотрим пример создания методов для следующей задачи.
Задача 12.1. Ввести одномерный массив и отсортировать его.
Алгоритм будет выглядеть так:
1. Ввести массив из n чисел.
2. Вывести массив.
3. Отсортировать массив.
4. Вывести отсортированный массив.
5. Закончить.
Практически каждый пункт этого алгоритма не является односложным элементарным действием, его можно рассматривать как отдельную подзадачу и создать для него свой метод. Принимать решение о создании конкретных методов прежде всего следует:
1) исходя из многократности использования однотипных действий в программе (например, вывод массива даже в вышеописанной простой задаче производится 2 раза);
2) исходя из универсальности алгоритма подзадачи (например, алгоритм сортировки).
Для рассматриваемой задачи на рис. 12.1 схематично показана структура класса без методов разработчика, на рис. 12.2 – структура класса с методами вывода и сортировки массива.
package Massiv_1;
public class Massiv1{
Ввести массив из n чисел.
Вывести массив
Отсортировать массив
Вывести отсортированный массив.
}
}
Рис. 12.1
package Massiv_2;
public class Massiv2{
м
описание методов
метод сортировки массива
p
Ввести массив из n чисел.
Вызвать метод вывода массива
Вызвать метод сортировки массива
Вызвать метод вывода массива
}
}
Рис. 12.2
Далее перейдем к более подробному рассмотрению методов: их структуры, правил вызова.
