Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Леднева_программирование_на_JAVA.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
11.44 Mб
Скачать

Содержание отчета

Готовится один отчет на бригаду по вариантам заданий в печатном виде для заданий, указанных в табл. 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