Технологии программирования
Циклические программы. Операторы циклов
Основные определения
Циклом называется многократное повторение некоторого набора действий.
Эти повторяющиеся действия называются телом цикла .
В программе на любом языке программирования тело цикла – это один оператор (но: простой, составной или пустой ).
Программа, содержащая цикл, называется циклической .
Виды циклов:
- цикл с предусловием
- цикл с постусловием
- цикл со счетчиком (с параметром)
Цикл с предусловием
while ( логическое выражение )
оператор-тело цикла ;
тело цикла - простой или составной оператор.
Цикл с предусловием
Компьютер сначала вычисляет значение логического выражения (поэтому цикл называется циклом с ПРЕДусловием). Если условие истинно, будет выполнено тело цикла, и произойдет переход снова на проверку условия. То есть, пока условие истинно, будет выполняться тело цикла ( условие является условием выполнения цикла ) .
Цикл с предусловием
…
Условие
да
Тело цикла
нет
…
Пример
int a=0;
while (a
System.out.println(a);
a++;
}
Цикл с предусловием
Тело цикла с предусловием может выполняться бесконечно (условие всегда истинно), может не выполниться ни разу (условие сразу ложно).
Цикл с постусловием
do {
тело цикла ;
} while ( логическое выражение );
тело цикла - группа операторов (составной оператор)
Цикл с постусловием
Компьютер СНАЧАЛА выполняет тело цикла, и только после этого вычисляет значение логического выражения (поэтому цикл называется циклом с ПОСТусловием). Если условие истинно, будет вновь выполнено тело цикла, и так до тех пор, пока логическое выражение не приметь значение «ложь».
Цикл с постусловием
Тело цикла
Условие
да
нет
Цикл с постусловием
Тело цикла с постусловием ВСЕГДА выполнится ХОТЯ БЫ ОДИН РАЗ, может выполняться бесконечно (если условие всегда истинно).
Пример
int a=0;
do {
System.out.println(a);
a++;
} while (a
Цикл со счетчиком (с параметром)
for ( инициализация; условие; изменение счетчика )
;
инициализация – оператор присваивания, инициализирующий (присваивающий начальное значение) счетчик;
условие – логическое выражение (условие выполнения цикла);
изменение счетчика – оператор присваивания, обеспечивающий изменение счетчика;
тело цикла – простой или составной оператор.
Пример
for (int a=0; a
System.out.println(a);
a – счетчик – локальная переменная, существует ТОЛЬКО в операторе цикла!
Примечание
!
В языке Java универсальным оператором цикла является оператор for (с помощью него можно смоделировать два других оператора).
Задача 1 (цикл с предусловием)
Составить программу нахождения НОД (наибольшего общего делителя) двух чисел. Используйте алгоритм Евклида: большее из двух чисел заменяется их разностью до тех пор, пока числа не станут равными – это и есть НОД.
Задача 2 (цикл с постусловием)
Составить программу, которая позволяет вводить пароль до тех пор, пока не будет введен верный ответ, либо количество попыток превысит 5.
Задача 3 (цикл со счетчиком)
Составить программу, которая выведет на экран таблицу умножения на заданное число.
Задача 4
«Тренажер». Составить программу, проверяющую знание таблицы умножения. Программа должна выводить N примеров вида « a * b =», вводить ответ пользователя, проверять его и выводить одно из сообщений: «Верно» или «Неверно». В конце работы пользователя должно выводиться количество правильно решенных примеров и количество сделанных пользователем ошибок, а также выставляться отметка.
Задача 5
Составить программу, которая выведет на экран таблицу Пифагора размера M x N .
Задача 6
Составить программу, которая определит, является ли введенное число простым (число называется простым, если оно не имеет других делителей, кроме 1 и самого себя).
Задача 7
Составить программу, которая выведет на экран все простые числа из заданного интервала (изменить программу, составленную для решения задачи №6).