Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

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

Читайте также:
  1. Begin IF умова 2 THEN оператор 1 end
  2. Begin оператори; end.
  3. Анализ динамики рынка, модель жизненного цикла
  4. Арифметические операторы
  5. Арифметические операторы и операторы присваивания
  6. Влияние жизненного цикла туристского продукта на оценку туристских ресурсов
  7. Возврат заявок на участие в электронном аукционе оператором электронной площадки.
  8. Действия оператора поста централизации при отравлении работника.
  9. Действия оператора поста централизации при получении работником ожогов.
  10. Для организации ветвлений в VBA используются операторы: условный оператор IF...THEN и IF...THEN …. Else

Операторы цикла с условием обладают значительной гибкостью, но не слишком удобны для организации ≪строгих≫ циклов, которые должны быть выполнены заданное число раз. Оператор цикла for … do используется именно в таких случаях:

for i:= in to ik do оператор;

for i:= ik downto in do оператор;

где оператор – любой оператор языка, i, in и ik — переменная целочисленного или перечислимого типов.

Переменную i называют параметром цикла. Переменные in и ik — диапазон изменения параметра цикла: in — начальное значение, а ik — конечное значение параметра цикла.

Шаг изменения цикла for всегда постоянен и равен интервалу между двумя ближайшими значениями типа параметра цикла (при целочисленном значении параметра цикла шаг равен 1).

В случае если тело цикла состоит более чем из одного оператора, необходимо использовать составной оператор:

for i:= in to ik do

begin

оператор_1;

оператор_2;

...........

оператор_n;

end;

Рисунок Алгоритм работы цикла for...do

 

Опишем алгоритм работы цикла for … do:

1. Параметру цикла i присваивается начальное значение in.

2. Если значение параметра цикла превосходит конечное значение (i>ik), то цикл завершает свою работу. В противном случае выполняется пункт 3.

3. Выполняется оператор.

4. Значение параметра цикла i изменяется на соответствующий шаг и осуществляется переход к п.2 и т. д.

Понятно, что этот алгоритм представляет собой цикл с предусловием.

В дальнейшем, чтобы избежать создания слишком громоздких алгоритмов, в блок-схемах цикл for можно изображать так, как показано на рис.

Рисунок: Представление цикла for...do с помощью блок-схемы

Вернемся к задаче вывода значений функции y = e sin(x) cos(x) на отрезке [0;π] с шагом 0.1. Как видим, здесь количество повторений цикла явно не задано. Однако это значение, можно легко вычислить.

Предположим, что параметр цикла х принимает значения в диапазоне от xn до xk, изменяясь с шагом dх, тогда количество повторений тела цикла можно определить по формуле:

округлив результат деления до целого числа. Следовательно, фрагмент программы будет иметь вид:

var i,n:integer; x,y:real;

begin

{Количество повторений цикла:}

{n=(xk-xn)/dx+1; xk=pi, xn=0, dx=0.1}

n:=round((pi-0)/0.1)+1;

x:=0; {Начальное значение аргумента.}

{Цикл с известным числом повторений,}

{i – параметр цикла,

изменяется от 1 до n с шагом 1.}

for i:=1 to n do

begin {Начало цикла.}

{Вычисление значения функции }

y:=exp(sin(x))*cos(x);

{для соответствующего значения аргумента.}

writeln('x=',x,' y=',y);

x:=x+0.1; {Вычисление нового значения аргумента.}

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

end.




Дата добавления: 2014-12-19; просмотров: 79 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав