28624

Оператор цикла for

Доклад

Информатика, кибернетика и программирование

Прежде всего это оператор цикла с параметром for. Такой тип цикла обычно применяют в тех случаях когда количество возможных повторов известно заранее. Он имеет 2 варианта написания: один для цикла с приращением и другой для цикла с уменьшением: for параметр := выражение 1 to выражение 2 do тело цикла ; for параметр := выражение 1 downto выражение 2 do тело цикла ; В первом случае с использованием цикла forto при каждом проходе цикла называемом итерацией значение параметра увеличивается на 1 а во втором fordownto...

Русский

2013-08-20

14.7 KB

0 чел.

Оператор цикла for

Для написания практически любой программы, помимо операторов условия, требуются операторы цикла, и в Object Pascal, они, разумеется, есть. Прежде всего, это оператор цикла с параметром - for. Такой тип цикла обычно применяют в тех случаях, когда количество возможных повторов известно заранее. Он имеет 2 варианта написания: один - для цикла с приращением, и другой - для цикла с уменьшением:

for <параметр> := <выражение 1> to <выражение 2> do <тело цикла>; for <параметр> := <выражение 1> downto <выражение 2> do <тело цикла>;

В первом случае (с использованием цикла for-to) при каждом проходе цикла, называемом итерацией, значение параметра увеличивается на 1, а во втором (for-downto) - уменьшается на 1. При этом в качестве начального значения используется "выражение 1", а в качестве конечного - "выражение 2". Разумеется, если для цикла to значение первого выражения изначально будет больше значения второго, или наоборот, меньше (для цикла downto), то цикл не будет выполнен ни разу. Практическое применение циклов крайне разнообразно. Если привести наиболее общий пример из программирования, то цикл - идеальный способ заполнения массива. Например, если требуется организовать цикл для заполнения массива из 10 числовых значений последовательно возрастающими числами, то можно записать:

for i := 0 to 9 do MyArray[i]=i;

В данном случае элементам массива MyArray последовательно назначаются значения от 0 до 9.

ПРИМЕЧАНИЕ
Сами массивы будут рассмотрены несколько позже, в главе, посвященной структурным типам данных.

Теперь рассмотрим цикл for с отрицательным приращением на примере вычисления математического факториала (последовательное произведение всех целых чисел от 1 до самого числа). Для этого нам понадобится следующий цикл:

var num, rez: integer; ... rez := 1; for num := num downto 1 do rez := rez * num;

Здесь нам потребовалась небольшая подготовительная работа: определена переменная rez, в которой будет храниться вычисляемое значение, и ей присвоено значение 1. В качестве числа, для которого вычисляется факториал, выступает переменная num, она же используется для самого цикла в качестве счетчика. Поскольку нам надо будет прекратить выполнение цикла, после того, как счетчик (num) достигнет значения 1, то именно это значение и указано в качестве конечного условия.

В итоге, если переменной num присвоить значение 5, то после прохождения цикла переменная rez получит значение 120. Хотя в результате работы такого цикла получится выполнение как бы наоборот (т.е. не вместо 1*2*3*4*5, на самом деле выполняется 5*4*3*2*1), это никак не помешает получить верный результат.

Наконец, в качестве тела цикла, как и в случае с уже рассмотренными операторами, может использоваться составной оператор. Кроме того, циклы могут быть вложены один в другой, при этом важно лишь следить за тем, где заканчивается вложенный цикл и начинается внешний. Для этого полезно следить за правильным оформлением программы, в частности, использовать отступы, в качестве которых можно использовать либо знак табуляции, либо пробелы, в последнем случае их желательно ставить не менее 2 (листинг 4.2).

Листинг 4.2. Вложенные циклы и форматирование кода

for x := 5 to 10 do begin z := x; for y := 10 to 20 do begin z := z + x * y; writeln(z); end; // конец вложенного цикла writeln(x); end; // конец внешнего цикла

При использовании циклов с параметром важно помнить, что изменение значения параметра в теле цикла недопустимо.


 

А также другие работы, которые могут Вас заинтересовать

45496. Иерархия протоколов 304 KB
  Информационная совместимость это правила передачи информации от одного узла к другому. Для того чтобы передать информацию от одного узла другому используют как минимум три уровня: физический; канальный; сетевой; На физическом уровне описаны характеристики передающей среды Основной задачей канального уровня является преобразование физической среды в канал передачи данных а так же выявление ошибок и деление информации на кадры. Кадр единица измерения для передачи информации для сетей. Первые четыре уровня обеспечивают...
45497. Теоретические основы передачи данных 378.5 KB
  Ограничения на пропускную способность передачи данных.5c ∑ n sin2pnft∑ bncos2pnft f частота nbn амплитуды nой гармоники t время передачи сигнала gt определенное ограничение на пропускную способность. При этом скорость передачи информации зависит от способа кодирования и скорости изменения кодирования.
45498. Магистрали 261 KB
  Основное достижение это применение одного канала для передачи сигналов между различными источниками и приемниками. Основано на разделении передачи сигналов от разных источников по различным несущим частотам. Это связано с тем что пропускная способность составляет 25000 Гц и за счет этого в оптических каналах скорость передачи на порядок выше. Это связано с тем что после получения канала с аналоговой петли скорость передачи данных может быть увеличена в несколько раз поэтому для цифровых каналов связи применяется метод мультиплексирования...
45499. Коммутация 466 KB
  Для систем передачи используются три способа коммутации: коммутация сообщений; коммутация каналов; коммутация пакетов. При использовании коммутации каналов снижаются накладные расходы на передачу информации. При коммутации пакетов все сообщения разделяются на определенные пакеты. В отличие от коммутации каналов абонент не может монополизировать линию.
45500. Использование амплитудно-импульсной модуляции (АИМ) для построения систем передачи с временным разделением канала 311.5 KB
  При амплитудноимпульсной модуляции амплитуда периодической последовательности импульсов изменяется в соответствии с изменеием модулирующего сигнала. АИМ1 амплитуда импульсов пропорциональна амплитуде моделирующего сигнала. При преобразовании: частота дискретизации; скважность определяет количество времени свободное для передачи сигнала. Для простоты моделирующее колебание представляется: Для амплитудномоделирующей последовательности выражение: показывает глубину модуляции после преобразования получим ряд: Из данного...
45501. Использование широкоимпульсной модуляции (ШИМ) для построения систем передачи с временным разделением канала 299 KB
  Использование фазовоимпульсной модуляции ФИМ для построения систем передачи с временным разделением каналов. ФИМ является более помехоустойчивым видом модуляции чем ШИМ и АИМ. При ФИМ используется следующий моделирующий сигнал: В этом случае основным определяющим элементом является величина фазового сдвига которая определяется по следующей формуле: ∆τmx максимальный временной сдвиг между импульсами: ∆τmx=MФИМUmx MФИМ коэффициент глубины модуляции. Модуляция фазы импульсов определяется в соответствии со следующим...
45502. CASE-средства. Общая характеристика и классификация 51 KB
  Общая характеристика и классификация Современные CSEсредства охватывают обширную область поддержки многочисленных технологий проектирования ИС: от простых средств анализа и документирования до полномасштабных средств автоматизации покрывающих весь жизненный цикл ПО. Наиболее трудоемкими этапами разработки ИС являются этапы анализа и проектирования в процессе которых CSEсредства обеспечивают качество принимаемых технических решений и подготовку проектной документации. Графические средства моделирования предметной области позволяют...
45503. Типизация проектных решений АСОИУ. Использование коробочных продуктов и адаптируемых интегрированных систем. Подходы к созданию автоматизированной системы 58 KB
  Подходы к созданию автоматизированной системы В настоящее время существуют различные подходs к построению АСОИП отличающиеся признаками положенными в основу классификации. Полученная таким образом схема классификации подходов к построению АСОИП приведена на рис. В соответствии с этой схемой при выборе подхода к построению АСОИП решается вопрос о возможности использования существующих на рынке тиражируемых систем или необходимости создавать уникальную систему полностью ориентированную только на задачи конкретного предприятия. Подходы к...
45504. Графические средства представления проектных решений АСОИУ (IDEF, DFD, UML, ERD и т.п.) 36 KB
  DFD диаграммы потоков данных являются основным средством моделирования функциональных требований к проектируемой системе. Первый шаг моделирования извлечение информации из интервью и выделение сущностей. Второй шаг моделирования идентификация связей. Язык UML находится в процессе стандартизации проводимом OMG организацией по стандартизации в области ОО методов и технологий в настоящее время принят в качестве стандартного языка моделирования и получил широкую поддержку в индустрии ПО.