Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


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

 

Для реализации такого вида цикла в языке Pascal используется составной оператор, состоящий из операторов for, to, downto, do и при необходимости из операторных скобок.

Оператор цикла for имеет одну из двух форм:

 

for переменная:=начальное_значение to конечное_значение do оператор

или

for переменная:=начальное_значение downto конечное значение do оператор.

 

Содержимое текста от слова for до слова do включительно называется

заголовком цикла, а оператор после do - телом цикла. Переменная после слова for называется параметром цикла. Параметр цикла, его начальное и конечное значения должны принадлежать к одному и тому же, порядковому (целому, символьному, перечисляемому или интервальному) типу данных, т.е. параметр выступает в качестве счетчика цикла. В теле цикла параметр цикла не должен меняться принудительно.

Для цикла с ключевым словом to значение параметра цикла последовательно увеличивается на единицу при каждом прохождении цикла. Для цикла с ключевым словом downtoзначение параметра цикла при каждом повторе последовательно уменьшается на единицу.

 

Пример: {к величине S прибавляется 10 чисел от 1 до 10}

For i:=1 To 10 Do

S:=S+i;

 

Если многократно нужно выполнить несколько операторов, то они помещаются в блок операторов - между служебными словами Begin и End.

 

Для циклических конструкций на структурных схемах алгоритмов часто применяют следующее УГО:

 

 

На рисунке I – параметр цикла; I0 – начальное значение параметра цикла; In – конечное значение параметра цикла; h – шаг.

 

Цикл с предусловием.

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

    Схема работы оператора приведена на рис.

 

 

    Для реализации циклов с предусловием используется составной оператор, включающий оператор while, do, операторные скобки. В общем виде цикл реализуется записью:

 

while <условие> do <действие>;

 

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

 

while <условие > do

begin

<оператор 1>;

<оператор 2>;

...

<оператор n>;

end;

Условие представляет собой выражение логического типа и может быть простым, с использованием операций отношения (<, >, <=, >=, =, <>), или составным с использованием логических операций. Оператор после do называется телом цикла.

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

Пример: ввести целое число; вывести все цифры введенного числа.

var a,b: integer;

Begin

readln(a);

while a<>0 do

begin

b:=a mod 10;

write(b:3);

a:=a div 10;

end;

End.

 

Цикл с постусловием.

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

 

Схема работы оператора приведена на рис.

 

Для реализации цикла используется составной оператор, состоящий из операторов repeat и until. В общем виде цикл записывается так:

 

repeat

<действие>;

until <условие>;

 

В отличие от цикла while, условие проверяется после очередной итерации цикла, и если оно истинно, то происходит выход из цикла. Таким образом, операторы, образующие тело цикла repeat, выполняются, по крайней мере, один раз. Цикл repeat является циклом с постусловием, т.е. сначала выполняется тело цикла, затем проверяется условие и до тех пор, пока оно не выполнится, (т.е. пока условие ложно) цикл будет повторяться.

    Пример решения предыдущей задачи с применением цикла repeat.

var a,b: integer;

Begin

readln(a);

repeat

b:=a mod 10;

write(b:3);

a:=a div 10;

until a=0;

End.

 

              Вложенные циклы.

 

Циклы могут быть простыми или вложенными (цикл в цикле).

Например:

 

Program VlC;

var i,j:integer;

begin

for i:=1 to 5 do //внешний цикл

begin

    writeln;

     for j:=10 to 13 do //внутренний цикл

        write(' i=',i,' j=',j);

end;

readln;

end.

 

Для цикла for i:=1 to 5 do телом цикла является:

begin

writeln;

for j:=10 to 13 do

write(' i=',i, ', j = ', j);

end;

 

Этот цикл является внешним, по отношению к нему внутренним будет цикл:

for j:=10 to 13 do с телом write (' i = ', i, j =', j).



<== предыдущая лекция | следующая лекция ==>
Тема 4. Управляющие конструкции языка Паскаль. | Тема 5. Структурированные типы данных.
Поделиться с друзьями:


Дата добавления: 2018-10-18; Мы поможем в написании ваших работ!; просмотров: 698 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Большинство людей упускают появившуюся возможность, потому что она бывает одета в комбинезон и с виду напоминает работу © Томас Эдисон
==> читать все изречения...

2565 - | 2225 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.