- •Часть 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
Содержание отчета
Готовится один отчет на бригаду по вариантам заданий в печатном виде для заданий, указанных в табл. 3.3-3.4. Он должен содержать следующие разделы:
титульный лист;
задание;
словесное описание алгоритма;
схему алгоритма;
текст программы на языке Java.
Контрольные вопросы
1. Каковы правила переименования в среде NetBeans?
2. Описать режим работы отладчика и перечислить используемые для этих целей горячие клавиши.
3. Рассказать правила создания наблюдений.
4. Для чего нужен оператор if?
5. Какие формы оператора if существуют и как они выполняются в программе?
6. Когда следует использовать в операторе if фигурные скобки?
7. В каких случаях необходимо использовать оператор switch?
8. Какова общая форма записи оператора switch?
9. Какова цель использования оператора break в конструкции switch?
10. Для чего в операторе switch используется часть default?
11. Привести пример программного кода с использованием switch.
Лабораторная работа № 4 разработка программ с циклами со счетчиком
Цель работы – получение навыков разработки алгоритмов и программ с циклом for.
Источники: [3, с. 97-102], [4, с. 105-108].
Краткая теория Циклы со счетчиком
Цикл со счетчиком for используется тогда, когда количество повторений заранее известно и определяется значением некоторой управляющей переменной, называемой параметром цикла, или счетчиком.
Цикл for записывается следующим образом:
for (инициализация; условие; инкремент){
оператор1;
оператор2;
…
операторN;
}
Заголовок такого цикла содержит три выражения (в простейшем случае). Выражение «инициализация» выполняется один раз перед первой итерацией цикла. После каждой итерации цикла выполняется выражение «инкремент», а затем выражение «условие», которое должно быть логическим и служит для задания условия продолжения цикла. Пока «условие» истинно, итерации цикла будут продолжаться.
Словесное
описание цикла:
Для
номера i
от 0 до m
– 1 делать
….
for ( i = 0; i < m; i++) {
…
}
На схемах алгоритмов цикл со счетчиком представляется с использованием блока ветвления if (рис 4.1, а) или с помощью специального блока цикла for (рис. 4.1, б).
б
а
Рис. 4.1
На рисунках i – параметр цикла, значения которого изменяются от начального до конечного с заданным шагом (инкрементом), равным единице.
Для удобства составления операторов цикла со счетчиком в данной конструкции введен ряд допущений:
– счетчик (параметр цикла) может объявляться вместе с инициализацией в секции «инициализация», например
for (int i = 0; i < 10; i++) {
x/=2; // то же, что и x=x/2;
}
Такое использование задает «видимость» счетчика в границах цикла.
–
в
одном цикле можно задавать
сразу несколько счётчиков. При этом
несколько выражений в первой и третьей
секциях разделяются запятыми. Условие
повторения можно задавать только одно,
но оно может быть выражением, содержащим
сразу несколько счётчиков. Ниже
представлены два примера такой записи
(секции инициализации, условия и
инкремента помечены номерами):
– все составляющие заголовка цикла («инициализация»; «условие»; «инкремент») являются необязательными. Для выражения «условие» это означает, что условие считается всегда истинным (т.е. выход из цикла должен быть организован какими-то средствами внутри самого цикла).
То есть допустим бесконечный цикл
for (; ; ) { … }
Когда тело цикла (for или другого) состоит из нескольких команд, может возникнуть ситуация, что на очередной итерации выполнять их все нет необходимости. В этом случае полезными оказываются операторы break и continue.
Оператор break прекращает выполнение текущего цикла, независимо от того, выполняется ли условие его окончания.
…
for (int a=1; a<=10; a++) {
s=s+a;
if(s == 8) { break; }
System.out.print(s + " ");
}
Оператор continue прекращает выполнение текущей итерации цикла. То есть если в теле цикла встречается этот оператор, то остальные, следующие за ним команды пропускаются и начинается новая итерация цикла. Ниже приведен пример, в котором оператор continue используется для того, чтобы в каждой строке печатались два числа.
for (int i=0; i < 10; i++) {
System.out.print(i + " ");
if (i % 2 == 0) continue;
System.out.println("");
}
Приведем в качестве примера задачу с использованием двух циклов for, вложенных один в другой.
Задача 4.1. Ввести в ЭВМ 5 целых трёхзначных чисел и для каждого вывести их цифры в обратном порядке.
Алгоритм:
1. Задать количество вводимых чисел kol=5.
2. Вывести сообщение о вводе чисел.
3. Для номера числа от 1 до kol
3.1. Ввести число
3.2. Для номера цифры от1 до 3
3.2.1. цифра = число % 10 // остаток от деления на 10
3.2.2. число = (int)число/10
3.2.3. вывести цифру
4. Закончить.
Для сравнения рассмотрим два варианта схемы алгоритма рис. 4.2 и рис. 4.3. Откуда видно, что использование специального символа цикла for делает схему более компактной и понятной, что важно для больших программ.
Рис. 4.2
Рис 5.4
Рис. 4.3
