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.


 

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

53872. Майстер – клас «Креативність – мислення поза стандартами» 676 KB
  Одним із вирішальних чинників розв’язання цих завдань є розвиток креативного мислення педагога. На сьогоднішній день існує більше 100 визначень креативності але ми будемо її розглядати як здатність до дивергентного мислення мислення що йде одночасно у багатьох напрямках воно спрямоване на те щоб породити безліч різних варіантів розв’язання задачі. Дивергентне мислення лежить в основі креативності.
53873. ЩО ТАКЕ КРЕАТИВНІСТЬ? 194.5 KB
  Невже не може бути так щоб школа була місцем де плекають дитячу креативність Де діти не бояться помилятися. Людська спільнота набагато більше схожа на людський організм у якому креативність відіграє роль життєвої енергії. І саме від школи залежить чи буде вона розвивати креативність чи висушувати її приглушувати і придушувати щоб перетворити на добре запрограмований в міру інтелектуальний механізм. Чому б не використати цей невичерпний потенціал у вивченні математики й природознавства читання й письма Матеріал посібника дасть змогу...
53874. Крым. Сценарий 93.5 KB
  1 загадка: Красивый сад волшебный сад Сюда приехать каждый рад. Здесь и деревья и цветы необычайной красоты Никитский ботаничекий сад 2 загадка: Может ктото не поверит Что живут под Ялтой звери: Львы медведи леопарды все друг другу очень рады Угадайте как зовут Этот для зверей приют Зоопарк Сказка 3 загадка: Один...
53875. Криза старого порядку. Початок модернiзацiї. Прусське королiвство. Австрія 69.5 KB
  Випереджувальне завдання Скласти історичну справку про особливості політичного стану в країнах Європи II половини XVIII століття. Домашнє завдання 2хв. Учні 1 групи повинні були підготувати випереджувальне завдання: скласти історичну довідку про особливості політичного стану в країнах Європи II половини XVIII століття. Завдання для учнів першої групи.
53876. Етносоціальні процеси та рівень життя населення (середина 60-початок 80-х років) 98.5 KB
  Тема уроку Етносоціальні процеси та рівень життя населення середина 60початок 80х років. Етнічний склад населення Основні поняття: рівень життя депопуляція етносоціальні процеси. подолання волюнтаризму та суб’єктивізму в управлінні народним господарством призупинення падіння життєвого рівня населення зростання авторитету КП який значно похитнувся в роки правління М. Це не могло не позначитися на рівні життя населення не вплинути на соціальні процеси.
53877. Принципы исследования культуры в западноевропейской и отечественной психологии XIX-XX вв 46.5 KB
  Одним из основных направлений философских исследований в 19-20 вв. стала философия культуры. Это создало условие для формирования в данной области философских знаний многочисленных научных школ. Они не только разрабатывали общий круг проблем, но и выработали оригинальные подходы к их решению.
53878. Астрономія – найцікавіша наука! 331.5 KB
  Третя від Сонця планета. Найбільша планета у Сонячній системі. Планета вдвічі менша за Землю за радіусом і має 2 супутники. Найближча планета до Сонця.
53879. Производственный леверидж и его оценка, производственный риск 27.5 KB
  Производственный (операционный) леверидж определяет чувствительность прибыли от продаж (прибыли до вычета процентов и налогов) к изменению объема продаж.
53880. Збірник кросвордів з навчальної дисципліни «Хімія» для студентів першого курсу 137.5 KB
  Назва насичених вуглеводнів за функціональною номенклатурою. Альтернативна назва циклоалканів. Ненасичені вуглеводні Назва ненасичених вуглеводнів з одним подвійним зв’язком за функціональною номенклатурою. Загальна назва ненасичених вуглеводнів з двома подвійними зв’язками.