- •Часть 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
Условный оператор if-else
В обобщенной форме этот оператор записывается следующим образом:
i
Словесное
описание конструкции if: …. Если
выполняется условие …, то
действия
1, 2
…
Иначе
действия
N,
M
…
оператор1;
оператор2;
…
}
else {
операторN;
операторM;
…
}
Раздел else необязателен. Для ветвей if-else, которые включает один оператор, фигурные скобки можно опустить. Логическое выражение (условие) – это любое выражение, возвращающее значение типа boolean.
Примеры фрагментов схемы алгоритма с оператором if приведены на рис. 3.6.
Рис. 3.6
Рассмотрим использование оператора if на примере следующей задачи.
Задача 3.1. Ввести в ЭВМ 3 целых числа. Расположить их в порядке возрастания.
Перестановку чисел a и b осуществлять через дополнительную переменную temp в последовательности 1=> 2 =>3 (рис. 3.7).
Рис. 3.7
Алгоритм:
1. Ввести три числа.
2. Расположить по порядку:
2.1. Если первое число больше второго, поменять их местами.
2.2. Если второе число больше третьего, поменять их местами.
2.3. Если первое число больше второго, поменять их местами.
3. Вывести числа.
Ниже представлен код программы, реализующий этот алгоритм.
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Введите три числа\r");
byte a=sc.nextByte();
byte b=sc.nextByte();
byte c=sc.nextByte();
byte temp; // временная переменная
if (a>b) {
temp=a;
a=b;
b=temp;
}
if (b>c) {
temp=b;
b=c;
c=temp;
}
if (a>b) {
temp=a;
a=b;
b=temp;
}
System.out.println("Числа переставлены:\t"+a+"\t"+b+"\t"+c);
}
Условный оператор switch
Оператор switch обеспечивает ясный способ переключения между различными частями программного кода в зависимости от значения одной переменной или выражения. Общая форма записи этого оператора такова:
switch ( выражение или параметр ) {
case значение1: {группа операторов;
break; }
case значение2: {группа операторов;
break; }
case значение3: {группа операторов;
break; }
default: {группа операторов;}
}
В
арианты
представления оператора switch
на схеме алгоритма приведены на рис.
3.8.
Рис. 3.8
Результатом вычисления выражения может быть значение любого простого типа, а начиная с версии JDK7 язык Java позволяет использовать строковые литералы. Каждое из значений, указанных после ключевого слова case, должно быть совместимо по типу с выражением в операторе switch. Все значения должны быть уникальными литералами. Если значению выражения не соответствует ни одно из значений после ключевого слова case, управление передается коду, расположенному после ключевого слова default (необязателен).
Оператор break приводит к передаче управления на код, стоящий после оператора switch. Если break отсутствует, после текущего раздела case будет выполняться следующий. Иногда бывает удобно иметь в операторе switch несколько смежных разделов case, не разделенных оператором break.
Рассмотрим использование оператора switch на примере следующей задачи.
Задача 3.2. Ввести в ЭВМ номер месяца и вывести, к какому сезону года он относится.
Ниже представлен код программы.
public static void main(String[] args) {
Scanner sc= new Scanner(System.in);
System.out.print("Введите номер месяца => ");
int s;
s=sc.nextInt();
switch (s){
case 12: case 1: case 2:
System.out.println("Зима");
break;
case 3: case 4: case 5:
System.out.println("Весна");
break;
case 6: case 7: case 8:
System.out.println("Лето");
break;
case 9: case 10: case 11:
System.out.println("Осень");
break;
default: System.out.println("Ошибка");
}
}
