Применение инструкции цикла for
Инструкция for…to…do позволяет последовательно перебирать значения некоторой переменной порядкового типа в заданном диапазоне, либо от начального значения до конечного значения, либо наоборот. С помощью этой инструкции легко организовать цикл. Особенность таких циклов в том, что число повторений заранее известно.
В общем виде инструкция for…to…do записывается так.
Рисунок 6.1– Синтаксис инструкции for…to…do
На этом рисунке <параметр цикла> - переменная порядкового типа; <начальное значение> - выражение, определяющее начальное значение <параметра цикла>; <конечное значение> - выражение, определяющее конечное значение <параметра цикла>.
Следует отметить, что если между словами begin и end находится только одна инструкция, то операторные скобки: begin и end можно не писать.
Инструкция цикла for…to…do выполняется следующим образом:
-
Вычисляются <начальное значение> и <конечное значение >.
-
Переменной <параметр цикла> присваивается <начальное значение>.
-
Если значение <параметра цикла> превышает <конечное значение>, то цикл заканчивается.
-
Выполняется тело цикла.
-
Переменной <параметр цикла> присваивается следующее значение.
-
Выполнение продолжается с пункта 3.
Количество повторений тела цикла можно вычислить по формуле:
Ord(<конечное значение>) – ord(<начальное значение>)+1;
Если <начальное значение> больше чем <конечное значение>, то тело цикла не будет выполнено ни разу.
Если <начальное значение> и <конечное значение> одинаковы, то тело цикла выполняется один раз.
Переменную <параметр цикла> можно использовать внутри цикла (но не изменять).
Если в инструкции for…to…do вместо слова to записать downto, то после очередного выполнения инструкций тела цикла, значение <параметра цикла> будет не увеличиваться, а уменьшаться. Начальное значение в этом случае должно быть больше чем <конечное значение>.
В рассмотренном ниже примере цикл for…to..do используется для того, чтобы добавить 10 символов ‘*’ к тексту в компоненте Label1.
for i:=1 to 10 do
begin
label1.caption:=label1.caption + ‘*’;
end;
В следующем примере все прописные буквы текстового компонента Edit1 заменяются соответствующими строчными буквами. Для определения длины строки здесь используется функция length().
const rus=['А'..'Я']; lat=['A'..'Z'] ;
var ch: char; i:integer; s:string;
begin
s:= Edit1.Text; // Запоминаем текст компонента в переменной типа String
for i:=1 to length(s) do // Цикл по символам строки
begin
ch:= s[i]; // Очередной символ
if (ch in rus) or (ch in lat) then s[i]:= chr(ord(ch) +32);
Edit1.Text := s; // Вывод результата
end;
end;
- Ответственный за выпуск: Бивойно п.Г. , декан факультета электронных и информационных технологий, канд. Техн. Наук, доцент
- Содержание
- 4.1.4 Разработка интерфейса проекта 66
- 5.1.7 Разработка интерфейса проекта 81
- Введение
- Лабораторная работа № 1. Знакомство с интегрированой средой разработки (иср)“Delphi 7”
- Краткие теоретические сведения о иср “Delphi 7”
- Конструктор стартовой формы
- Главное окно иср “Delphi 7”
- Главное меню
- Панели инструментов
- Палитра компонентов
- Окно просмотра дерева объектов
- Окно редактора кода
- Закладка редактора кода модуля
- Закладка редактора кода файла проекта
- Окно Object Inspector
- Закладка описания свойств объекта
- События и процедуры обработки событий
- Создание простейшего проекта
- Разработка интерфейса проекта
- Создание процедуры инициализации приложения
- Создание процедуры вычисления результата
- Улучшение проекта
- Сохранение проекта
- Продолжение работы с проектом на другом компьютере
- Содержание отчета
- Контрольные вопросы и задания
- Рекомендованая литература
- Лабораторная работа № 2. Вещественный тип данных. Расчеты по формулам
- Краткие теоретические сведения
- Язык программирования Object Pascal
- Объекты, переменные и константы
- Классы и типы
- Объявление объектов и переменных
- Вещественный тип данных
- Выражение
- Стандартные функции для данных вещественного типа
- Инструкция присваивания
- Форматирование результатов расчетов
- Создание проекта «Расчет по формуле»
- Создание интерфейса
- Компонент ole-контейнер
- Компонент Group Box
- Компонент Memo
- Завершение работы над интерфейсом
- Создание процедур обработки событий Процедура очистки протокола
- Процедура инициализации формы
- Процедура выполнения расчета по формуле
- Контольный пример
- Трассировка процедуры
- Содержание отчета
- Контрольные вопросы
- Рекомендованая литература
- Лабораторная работа № 3. Подпрограммы Краткие теоретические сведения
- Правила написания подпрограмм
- Описание процедуры
- Вызов процедуры
- Описание функции
- Вызов функции
- Способы передачи параметров в подпрограммы
- Передача параметров по значению
- Передача параметров по наименованию
- Расположение подпрограмм
- Подпрограммы обработки событий класса формы
- Другие подпрограммы класса формы
- Размещение подпрограмм в модуле
- Размещение подпрограмм в других модулях
- Размещение подпрограмм внутри других подпрограмм
- Область действия имен
- Реализация проекта «Процедуры и функции»
- Создание процедур и функций Процедуры инициализации
- Процедура считывания коэффициентов уравнения
- Функция для расчета по формуле
- Использование дополнительного модуля
- Завершение работы над проектом
- Исследование созданного приложения
- Анализ передачи параметров по наименованию
- Анализ передачи параметров по значению
- Содержание отчета
- Контрольные вопросы
- Операции над логическими данными
- Логические выражения
- Разветвляющиеся алгоритмы
- Программирование разветвлений Условный оператор if…then…else
- Оператор варианта case
- Реализация проекта «Организация разветвлений»
- Разработка интерфейса проекта
- Компоненты для работы со списками
- Процедуры обработки событий выбора из списка
- Процедуры обработки событий onKeyPress
- Решение квадратного уравнения
- Содержание отчета
- Контрольные вопросы
- Лабораторная работа № 5. Построение циклов с инструкциями „while” и „repeat”
- Краткие теоретические сведения
- Циклические алгоритмы
- Инструкция while…do
- Инструкция repeat…until
- Прерывание цикла
- Итерационные алгоритмы
- Пример итерационного алгоритма для вычисления кубического корня
- Задание для самостоятельной работы
- Алгоритмы вычисления сумм бесконечных рядов
- Задание для самостоятельной работы
- Создание проекта WhileRepeat
- Разработка интерфейса проекта
- Компоненты PageControl и TabSheet
- Компонент CheckBox
- Создание закладки для вычисления корня
- Создание закладки для вычисления синуса
- Создание процедур и функций Процедура для контроля ввода данных
- Процедура вычисления кубического корня
- Процедура вычисления синуса
- Задания для расчетно-графической работы № 2
- Содержание отчета
- Контрольные вопросы
- Целые типы данных
- Символьные типы данных
- Ограниченный тип данных.
- Применение инструкции цикла for
- Табулирование значений функций
- Форматирование результатов при выводе таблиц
- Строки символов
- Операции над строками
- Процедура Delete
- Процедура Insert
- Функция Pos
- Функции Trim, TrimLeft, TrimRight
- Создание проекта «Применение цикла for»
- Разработка формы «Табулирование функции» Разработка интерфейса
- Создание вспомогательных процедур и функций
- Создание процедуры табулирования функции
- Разработка формы «Таблица “символ-код”» Разработка интерфейса
- Создание процедуры вывода таблицы символ-код
- Разработка формы «Обработка последовательностей целых чисел»
- Разработка интерфейса
- Создание процедуры обработки последовательности целых чисел
- Создание многодокументной (mdi)формы
- Задание для самостоятельной работы
- Содержание отчета
- Контрольные вопросы
- Рекомендованая литература