русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Оператор повтора for


Дата добавления: 2014-11-28; просмотров: 2245; Нарушение авторских прав


В случаях, когда число повторений может быть заранее известно, для организации циклической обработки информации применяется оператор повтора for. Часто этот оператор повтора называют оператором цикла с параметром, так как число повторений задается переменной, называемой параметром цикла, или управляющей переменной. Оператор повтора for состоит из заголовка и тела цикла.

Он может быть представлен в двух форматах:

for <параметр цикла> := <S1> to <S2> do <оператор>;

for <параметр цикла> := <S1> downto <S2> do <оператор>;

где Sl и S2 — выражения, определяющие соответственно начальное и конечное значения параметра цикла;

for ... do — заголовок цикла;

<оператор> — тело цикла.

Тело цикла может быть простым или составным оператором. Оператор for обеспечивает выполнение тела цикла до тех пор, пока не будут перебраны все значения параметра цикла от начального до конечного.

Заголовок оператора повтора for определяет:

• диапазон изменения значений управляющей переменной (параметра цикла) и одновременно число повторений оператора, содержащегося в теле цикла;

• направление изменения значения параметра цикла (возрастание — to или убывание—downto).

Пример использования оператора for:

for I:= 1 to 100 do Read(M[I]); {Чтение элементов массива}

for I:= 100 downto 1 do Write(M[I]); {Вывод элементов массива}

При первом обращении к оператору for вначале вычисляются выражения S1, S2 и осуществляется присваивание <параметр цикла>:=S1.

После этого циклически повторяются следующие действия:

1. Проверяется условие <параметр цикла>: <=S2.

2. Если условие выполнено, то оператор for продолжает работу (выполняется оператор в теле цикла), если условие <параметр цикла>:<=S2 не выполнено, то оператор for завершает работу, и управление в программе передается на оператор, следующий за циклом.



3. Значение управляющей переменной изменяется на +1 (в случае to) или –1 (в случае downto).

Шаг изменения управляющей переменной - единица.

Ограничения использования параметра цикла в операторе for. На использование управляющей переменной (параметра цикла) в цикле for налагаются следующие ограничения:

1. В качестве параметра должна использоваться простая переменная, опи­санная в текущем блоке.

2. Управляющая переменная должна иметь дискретный тип.

3. Начальные и конечные значения диапазона должны иметь тип, совместимый с типом управляющей переменной. При этом допустим любой скалярный тип, кроме вещественного.

4. В теле цикла запрещается явное изменение значения управляющей переменной (например, оператором присваивания).

5. После завершения оператора значение управляющей переменной становится неопределенным, если только выполнение оператора не было прервано оператором

перехода.

Примеры программ с использованием оператора for

Программа DemoFor1 выводит на экран таблицу перевода из градусов по шкале Цельсия(С) в градусы по Фаренгейту(Р) для значений от 15°С до 30°С с шагом 1 градус. Перевод осуществляется по формуле: F = С*1.8+32.

program DemoFor1;

var

I: integer;

F: real;

begin

Writeln (' Температура ') ;

for I:= 15 to 30 do {Заголовок цикла с параметром}

begin {Начало тела цикла}

F:= I*1.8+32;

Writeln('no Цельсию= ',I,' по Фаренгейту= ', F:5:2)

end; {Конец тела цикла}

end.

В блоке описания переменных описаны параметр цикла I типа integer и переменная F — температура по Фаренгейту типа real. Переменная I, помимо функций управляющей переменной, является переменной, хранящей целочисленные значения температуры по шкале Цельсия. В начале выполнения программы на экран выводится надпись ' Температура ', а затем оператором повтора выводится таблица соотношения температуры в шкалах Цельсия и Фаренгейта. Печать таблицы выполняется оператором Writeln('По Цельсию= ',I,' по Фаренгейту= ' , F: 5:2).

Цикл выполняется следующим образом.

При первом обращении к оператору for вычисляются значения начального (15) конечного (30) параметров цикла, и управляющей переменной I присваивается начальное значение 15.

Затем циклически выполняется следующее:

1. Проверяется условие I<=30.

2. Если оно соблюдается, то выполняется составной оператор в теле цикла, т.е. рассчитывается значение выражения I* 1.8+32, затем оно присваивается переменной F, и на экран выводится сообщение: 'По Цельсию= ', I, ' по Фаренгейту= ', F:5:2.

Если условие I<=30 не соблюдается, т. е. как только I станет > 30, оператор тела цикла не выполняется, а управление в программе передается за пределы оператора for, в нашем примере на оператор end. Программа завершает работу.

3. Значение параметра цикла I увеличивается на единицу, и управление передается в заголовок цикла for для проверки условия.

Далее цикл повторяется, начиная с пункта 1.

Вторым примером оператора цикла for может служить программа DemoFor2, которая печатает на экране символы американскою стандартного кода обмена информацией (ASCII) в порядке убывания кода.

program DemoFor2;

var

A: integer;

begin

for A:= 255 downto 0 do {Цикл с убыванием параметра}

Writeln('код символа = ',А, ' символ == ',Chr(A));

end.

В данной программе применяется цикл for с убыванием значения управляющей переменной А (используется указание downto - убывание).



<== предыдущая лекция | следующая лекция ==>
Оператор выбора case | Оператор повтора Repeat


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.334 сек.