36579

Оператор итерационного цикла ( repeat , while )

Контрольная

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

В каждом операторе итерационного цикла будем различать условие и тело цикла повторяющееся действие. Тело цикла whiledo это один оператор записанный после do а для цикла repetuntil тело цикла может быть и последовательностью операторов записанных между repet и until. Если условие есть true выполняется тело цикла и повторно вычисляется значение условия.

Русский

2013-09-22

31 KB

3 чел.

Оператор итерационного цикла ( repeat , while ).

Ещё одним видом операторов с условиями являются операторы итерационных циклов. В Турбо Паскале имеются две разновидности таких операторов: оператор с предусловием (оператор while-do) и оператор с постусловием (оператор repeat-until). Синтаксическая структура этих операторов имеет следующую форму:

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

repeat <последовательность операторов > until <условие>;

Итерационный цикл - это цикл, в котором повторяется выполнение некоторого действия до тех пор, пока не будет выполнено некоторое условие. Он позволяет описывать последовательности (цепочки) вычислений (длина цепочки, возможно, зависит от исходных данных) без явного перечисления этих последовательностей.

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

В цикле while-do при входе в цикл вычисляется значение условия. Если условие есть true - выполняется тело цикла и повторно вычисляется значение условия. Если вычисленное условие окажется false - осуществляется выход из цикла и переход к следующему по порядку оператору программы. Тело цикла - один оператор, поэтому, как и в случае оператора if-then-else , если в теле цикла необходимо выполнить последовательность операторов, её следует заключить в операторные скобки begin end.

В цикле repeat-until при входе в цикл вначале выполняется тело цикла (последовательность операторов между repeat и until), а затем вычисляется значение условия (стоящего после until). Если условие есть true - производится выход из цикла, если же false - повторяется тело цикла и опять проверяется условие. В цикле repeat-until ключевые слова repeat-until выполняют также и роль операторных скобок.

Резюмируя выполнение операторов while-do и repeat-until, следует обратить внимание на их различие: для оператора while-do повторение тела цикла происходит при значении условия true, а для оператора repeat-until при значении условия false. Соответственно выход из цикла while-do происходит при значении условия false, а для цикла repeat-until - при значении условия true. Во многих случаях более предпочтительной конструкцией является repeat-until т.к. нет необходимости в использовании скобок begin end , однако иногда более простым оператором цикла является while-do (если в алгоритме возможен случай, когда тело цикла не выполнится ни разу).

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

Тело цикла может в свою очередь содержать оператор цикла. В этом случае мы имеем вложенные циклы.

Задача 4.2.6(17)

program alex17;

type mas=array[1..5,1..4]of integer;

var a,b:mas;

i,j:integer;

procedure proc(var x:mas;m,k,l:integer);

var c:array[1..5]of integer;

i:integer;

begin

for i:=1 to m do

begin

c[i]:=x[i,k];

x[i,k]:=x[i,l];

x[i,l]:=c[i];

end;

end;

begin

for i:=1 to 5 do

for j:=1 to 4 do

read(a[i,j]);

writeln;

for i:=1 to 4 do

for j:=1 to 3 do

read(b[i,j]);

proc(a,5,2,4);

proc(b,4,2,3);writeln;

for i:=1 to 5 do

begin

for j:=1 to 4 do

write(a[i,j],' ');

writeln;

end;writeln;

for i:=1 to 4 do

begin

for j:=1 to 3 do

write(b[i,j],' ');

 writeln;

end;

readln;

end.


 

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

50523. ДОСЛІДЖЕННЯ ПРИНЦИПІВ РОБОТИ ВИМІРЮВАЛЬНИХ КАНАЛІВ ТЕМПЕРАТУРИ НА БАЗІ МІКРОПРОЦЕСОРНОГО ВИМІРЮВАЧА-РЕГУЛЯТОРА ТРМ1 869.5 KB
  Ознайомлення з методами вимірювання температури. КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ Методи вимірювання температури і температурні шкали Виміряти температуру якогонебудь тіла безпосередньо тобто так як вимірюють інші фізичні величини наприклад довжину масу обєм або час не представляється можливим тому що в природі не існує еталона або зразка одиниці цієї величини. Тому визначення температури речовини роблять за допомогою спостереження за зміною фізичних властивостей іншої так званої термометричної речовини яка при зіткненні з нагрітим...
50525. Склад сыпучих материалов. Расчет деревянных конструкций поперечника 276.98 KB
  В данном курсовом проекте подобрано наиболее рациональное кон-структивное решение проектируемого здания, сконструированы и рассчитаны основные несущие и ограждающие конструкции, узловые соединения, выбраны мероприятия по защите элементов здания от гниения и возгорания. Все принятые конструктивные решения и расчетные алгоритмы соответствуют требованиям действующих нормативных документов
50526. Исследование системы управления виртуальной памятью Windows с использованием системного монитора 777 KB
  Целью работы является исследование системы управления виртуальной памятью в ОС Windows, а также оценка эффективности работы в режиме страничного обмена программ с известным распределением обращений к памяти (сортировок). Для этого используются стандартные средства администрирования...
50527. Моделирование работы программ в виртуальной памяти и исследование эффективности их выполнения 37 KB
  Задание Собирать статистику работы по каждому исследуемому алгоритму для заданного ряда процентного объема физической памяти например 2510153550759095100 и всех алгоритмов вытеснения LRU FIFO OPT FRU. Выводы Сортировка выбором: трудоёмкость N2 2 алгоритм неадаптивный показатели эффективности алгоритмов LRU и FIFO практически одинаковы аномальный алгоритм замещения FRU превосходит по эффективности LRU и FIFO реально применимые алгоритмы LRU и FIFO уступают теоретическому максимуму в 23 раза что говорит об их...
50529. Исследование входной цепи с внешнеемкостной связью антенны с контуром 135.5 KB
  Для С1 обе характеристики – наименьшие из трёх представленных. Для С2 – наибольший коэффициент передачи, а для С3 – наибольшее резонансное напряжение. Для С1 есть два небольших максимума и промежуточный минимум, для С2 – одиночный максимум, для С3 – два максимума и два минимума.
50530. Изучение детекторных характеристик детекторов 251 KB
  Диодный детектор. Детекторные характеристики диодного детектора при различной омической нагрузке. Транзисторный детектор.
50531. Генерация второй гармоники в твердотельном минилазере 1.36 MB
  Генерация второй гармоники в твердотельном минилазере для студентов нелазерных специальностей Москва 2007 г. Целью лабораторной работы является изучение принципа действия твердотельных лазеров и экспериментальное исследование основных параметров такого лазера при генерации второй гармоники. Данная лабораторная работа включает 3 этапа: 1 предварительное изучение методических указаний Особенности устройства и работы твердотельных лазеров 2 изучение принципа действия генераторов второй гармоники и...