Операторы организации циклов 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Операторы организации циклов



 

Циклические операторы используются для многократного повторения некоторого фрагмента программы, который называется телом цикла. Количество повторений может быть заранее заданным или определяться выполнением некоторого условия.

В языке Паскаль имеется три вида операторов цикла:

– оператор цикла с предварительным условием;

– оператор цикла с последующим условием;

– оператор цикла с параметром.

Оператор цикла с параметром.

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

for i:= m1 to m2 do

Begin

операторы циклической части программы

end;

 

Здесь for, to, do – служебные слова; i – счетчик цикла (или управляющая переменная); m1, m2 – начальное и конечное значения параметра цикла.

Если в цикле выполняется один оператор, то операторные скобки begin и end не пишутся.

for i:= m1 to m2 do

оператор;

 

Циклическая часть программы выполняется повторно для каждого значения параметра цикла i от его начального значения m1 до конечного значения m2 включительно.

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

Возможные значения управляющей переменной определяются перед первым выполнением цикла. Если параметр цикла имеет целый тип, то он автоматически увеличивается на +1 от значения m1 до значения m2. Если параметр цикла должен уменьшаться на –1, то вместо служебного слова to используют downto.

В качестве m1 и m2 могут использоваться выражения, при этом их тип должен совпадать с типом i.

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

После завершения цикла управляющая переменная сохраняет свое последнее значение.

Если используется конструкция to и m1 больше m2 (downto и m1 меньше m2), то цикл не работает ни разу.

Пример 1. Параметр цикла возрастает от 1 до 5.

Var

s: real;

i: integer;

Begin

s:=0;

for i:= 1 to 5 do

s:= s+1;

End.

Пример 2. Параметр цикла убывает от 5 до 1.

Var

s: real;

i: integer;

Begin

s:=0;

for i:= 5 downto 1 do

s:= s+1;

End.

Пример 3. Параметр цикла является символьной переменной и принимает значения ‘A’, ‘B’, ‘C’, ‘D’.

Var

m: char;

s: real;

Begin

s:=0;

for m:= ’a’ to ‘d’ do

s:=s+1;

End.

Ввод-вывод числовых одномерных массивов. Элементы одномерного массива можно вводить по одному (ввод каждого элемента заканчивается нажатием клавиши Enter) или все сразу (элементы вводятся друг за другом через пробел и в конце нажимают клавишу Enter).

 

(*Ввод по одному элементу с комментарием*)

for i:= 1 to 10 do

Begin

Write(‘Введите b[ ’,i,’ ] =’);

ReadLn(b[i]);

end;

При выполнении данной группы операторов на экран будет выведено

Введите b[ 1 ]=

Следует с помощью клавиатуры набрать значение b[1], например 4 Enter.

Теперь на экран будет выведено

Введите b[ 2 ]=

Следует с помощью клавиатуры набрать значение b[2], например 24 Enter и т.д.

Вывод элементов одномерного массива можно осуществить всех элементов в одну строку или вывести в каждой строке по одному элементу массива.

(*Вывод всех элементов А в одной строке*)

WriteLn(‘Массив A’);

for i:= 1 to 5 do

Write(a[i]:5:1,’ ‘);

WriteLn;

На экране, например, может быть выведено следующее:

-12.5 3.4 67.0 –8.6 3.2

Оператор цикла с предварительным условием

Используется, как правило, в тех случаях, когда заранее неизвестно число повторений цикла.

Форма записи оператора цикла с предусловием следующая:

while условие do

Begin

операторы циклической части программы (тело цикла)

end;

Здесь while, do – зарезервированные слова; условие - выражение логического типа.

Если в циклической части стоит всего один оператор, то операторные скобки begin и end можно не указывать и оператор цикла примет вид:

while условие do оператор;

Оператор цикла действует следующим образом. Предварительно проверяется логическое выражение – условие. Если оно истинно, то выполняются операторы циклической части программы. Если логическое выражение ложно, то происходит выход из цикла.

Если с самого начала значение логического выражения ложно, то операторы циклической части не выполняются ни разу.

Логическое выражение должно меняться в теле цикла, иначе цикл будет бесконечным.

 
 

Пример. Вычислить значения функции y при изменении х от с до d с шагом h.

 

 

Var

x, a, y, c, d, h: real;

Begin

(*Ввод исходных данных*)

WriteLn(‘Введите с,d,h,a’);

ReadLn(c, d, h, a);

(*присвоение х нижней границы интервала*)

x:= c;

(*сравнение х с верхней границей интервала*)

while x <= d do

Begin

(*Вычисление y*)

if x > a then y:= x * cos(a*x)

else y:= sin(x) + a * x;

(*Вывод y и х*)

WriteLn(‘y= ’, y:10:2,’ x= ’,x:6:2)

(*Увеличение х на шаг и переход на

оператор while*)

x:= x + h;

end;

End.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 491; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.203.172 (0.009 с.)