- •Часть 1. Среда Delphi Тема 1. Объектно-ориентированное программирование
- •Тема 2. Элементы интерфейса
- •Окно проектировщика формы
- •Окно инспектора объектов
- •С оздание и сохранение проекта и файла модуля Как открыть новый проект?
- •Как открыть существующий проект?
- •Тема 3. Характеристика проекта. Состав проекта
- •Файлы формы
- •Файлы модулей
- •Файл ресурсов
- •Параметры проекта
- •Тема 4. Компиляция и выполнение проекта
- •Тема 5. Основные объекты
- •Основные свойства объектов
- •Основные события
- •Часть 2. Язык Object Pascal
- •Тема 1. Основные понятия
- •Словарь языка
- •Структура программы
- •Комментарии
- •Тема 2. Данные Виды данных
- •Типы данных
- •Простые типы данных
- •Структурные типы данных
- •Тема 3. Выражения
- •Арифметические выражения
- •Логические выражения
- •Строковые выражения
- •Тема 4. Простые операторы Оператор присваивания
- •Оператор перехода
- •Тема 5. Работа с графикой
- •Оператор доступа
- •Рисование многоугольников в Delphi
- •Закрашивание произвольной области в Delphi
- •Работа с несколькими формами
- •Объект Shape (Фигура)
- •Тема 6. Работа с датой и временем Объект Timer
- •Свойства компонента Timer
- •Манипулирование датами и временем
- •Тема 7. Встроенные окна диалога.
- •Окно ввода данных
- •InputВох(заголовок, подсказка, значение)
- •Окно вывода сообщений
- •Тема 8. Структурированные операторы
- •Составной оператор
- •Условный оператор
- •Оператор выбора
- •Операторы цикла
- •Тема 9. Подпрограммы
- •Процедуры
- •Функции
- •Параметры и аргументы
- •Тема 10. Работа с элементами выбора
- •1. Флажок (CheckBox)
- •2. ПереключательRadioButton
- •Свойства компонента RadioButton
- •Свойства компонента tRadioGroup
- •3. Простой список ListBox
- •Свойства компонента ListBox
- •4. Комбинированный список ComboBox
- •Свойства компонента СотbоВох
- •Значения для свойства Style
- •Тема 11. Работа с меню
- •Основные свойства пункта меню:
- •Главное меню
- •Конструктор меню
- •Динамическая настройка меню
- •Тема 12. Массивы
- •Объявление массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Поиск минимального (максимального) элемента массива
- •Сортировка массива
Операторы цикла
Операторы цикла используются для организации циклов (повторов). Цикл представляет собой последовательность операторов, которая может выполняться более одного раза. Группу повторяемых операторов называют телом цикла. Для построения цикла в принципе можно использовать условный оператор и оператор перехода. Однако в большинстве случаев удобно использовать операторы цикла. Всего имеется три вида операторов цикла:
с параметром;
с предусловием;
с постусловием.
Обычно, если количество повторов известно заранее, то применяется оператор цикла с параметром, в противном случае – операторы с пост- или предусловием (чаще используются оператор с предусловием).
Выполнение оператора цикла любого вида может быть прервано с помощью оператора перехода goto или предназначенной для этих целей процедуры без параметров Break, которая передает управление на следующий за оператором цикла оператор.
С помощью процедуры без параметров continue можно задать досрочное завершение очередного повторения тела цикла, что равносильно передаче управления в конец тела цикла.
Операторы циклов могут быть вложенными друг в друга.
Оператор цикла с параметром
Оператор цикла с параметром имеет два следующих формата:
for <Параметр> := <Выражение1> to <Выражение2> do <Оператор>;
И
for <Параметр> := <Выражение1> downto <Выражение2> do <Оператор>;
Параметр цикла представляет собой переменную порядкового типа, которая должна быть определена в том же блоке, где находится оператор цикла, выражение1 и выражение2 являются соответственно начальным и конечным значениями параметра цикла и должны иметь тип, совместимый с типом параметра цикла.
Оператор цикла обеспечивает выполнение тела цикла, которым является оператор после слова do, до полного перебора всех значений параметра цикла от начального до конечного с соответствующим шагом. Шаг параметра всегда равен 1 для первого формата цикла и -1 – для второго формата. То есть значение параметра последовательно увеличивается (for.. .to) или уменьшается (for.. .downto) на единицу при каждом повторении цикла.
Цикл может не выполниться ни разу, если для цикла f o r . . . t o значение начального выражения больше конечного, а для цикла for.. .downto, наоборот, значение начального выражения меньше конечного.
Пример. Циклы с параметром.
var n, k: integer; s := 0;
for n := 1 to 10 do s := s + m[n];
for к := 0 to 2 do
for n := 5 to 10 do begin
arrl[к, n] := 0;
arr2[k, n] := 1;
end;
В первом цикле выполняется расчет суммы из десяти значений массива т. Во втором случае два цикла вложены один в другой, и в них пересчитываются значения элементов двумерных массивов arrl и аrr2.
Оператор цикла с предусловием
Оператор цикла с предусловием целесообразно использовать в случаях, когда число повторений тела цикла заранее неизвестно и тело цикла может не выполняться. Проверка условия выполняется в начале оператора.
Формат оператора цикла с предусловием: while <Условие> do <Оператор>;
Оператор тела цикла выполняется до тех пор, пока логическое выражение не примет значение False, то есть цикл выполняется при значении логического выражения True.
Пример. Оператор цикла с предусловием.
Рассмотрим расчет суммы из десяти значений массива т.
var x: integer; sum: real; т: array[l .. 10] of real;
x : = 1; sum := 0;
while x <= 10 do begin
sum := sum + m[x];
x := x + 1;
end;
Если перед первым выполнением цикла условие не выполняется (значение логического выражения равно False), то тело цикла не выполняется ни разу, и происходит переход на следующий за оператором цикла оператор.