50080

Циклические программы

Лабораторная работа

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

Операторов цикла в Паскале три: for repet while. Оператор For Оператор состоит из заголовка в котором определяется порядок изменения переменной параметра цикла и тела цикла являющегося многократно повторяющимся алгоритмом. Общий вид оператора: For параметр цикла : = начальное значение to конечное значение do оператор; {тело цикла}. Этот оператор применяется если начальное значение конечного значения; For параметр цикла:= начальное значение downto конечное значение do оператор; применяется если начальное значение конечного значения.

Русский

2014-01-15

47.5 KB

8 чел.

PAGE  3

Лабораторная работа № 7

Циклические программы

Наиболее часто в практике программирования встречаются циклические программы. В циклических программах какой-либо алгоритм повторяется многократно, при этом один из параметров изменяется. Операторов цикла в Паскале три: for, repeat, while.

Оператор For

Оператор состоит из заголовка, в котором определяется порядок изменения переменной параметра цикла и тела цикла, являющегося многократно повторяющимся алгоритмом.

Общий вид оператора:

For – <параметр цикла>: = <начальное значение> to <конечное значение> do оператор; {тело цикла}.

Этот оператор применяется, если начальное значение < конечного значения;

For – параметр цикла:= начальное значение downto конечное значение do оператор; применяется, если начальное значение > конечного значения.

Пример: найти сумму квадратов целых чисел от 8 до 24.

Program Prim;

Var     i,s:integer;

BEGIN   s:=0;

for i:= 8 to 24 do

s:=s+sqr(i);  

writeln('s=',s);  

END.

Работа программы. В разделе Var выделяется ячейка памяти с именем i и s для хранения величин. Поскольку в S мы должны накапливать сумму, то вначале занесем в S ноль. Затем заголовок цикла присваивает i=8. далее выполняется тело цикла: извлекается содержимое ячейки S (а там у нас 0) и к этому содержимому прибавляется sgr(i), т.е. i2=82. Результат присваивается ячейке S, т.е. в S теперь 82.

Проверяется, не стал ли параметр цикла больше конечного значения параметра 24. Это не произошло, поэтому i присваивается следующее значение равное 9 и вновь выполняется тело цикла, т.е. S:=82+92. Можно сказать так: S присвоить тому S, которое было раньше, + следующее i2. Так как цикл еще не закончился, то i станет равным 10, а S присвоится тому S, которое было раньше, т.е. 82+92, и к нему прибавится еще текущее i2, т.е. 102. Этот процесс повторяется до тех пор, пока параметр цикла не станет равным 24. Тогда в последний раз 242 прибавляется к накапливаемой сумме.

Итак:  выполнение цикла значения i  значения S

  1   8   82

   2   9  82+92

   3   10   82+92+102

При i=25 происходит выход из цикла и переход к оператору writeln ('S=' ,S);

Правила применения оператора цикла For

  1.  Тело цикла – всегда один оператор. Если нужно, чтобы тело цикла состояло из нескольких операторов, то их объединяют в один с помощью операторных скобок begin, end.

For i:=l to n do

Begin

S:=S+sin(x)/cos(x);

x=x+0.01;

writeln('S=' ,S)

end.

Операторы, взятые в операторные скобки begin, end, считаются одним составным оператором.

  1.  Начальное и конечное значения параметра цикла в общем случае являются выражениями. Тип этих выражений и тип параметра цикла должны совпадать. Здесь допускается применение любых типов, которые упорядочены с каким-либо фиксированным шагом, это может быть любой скалярный тип, кроме вещественного, т.е. байтовый, целый, символьный, перечисляемый, интервальный, булевский. На практике чаще всего применяют целочисленный тип.
  2.  В теле цикла параметр цикла не должен изменяться.
  3.  Нельзя с помощью оператора перехода goto войти в тело цикла, минуя заголовок.
  4.  Выйти из тела цикла в программу можно по if..goto, не дожидаясь полного перебора параметров цикла.

 

Оператор Repeat.

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

Repeat

оператор;

оператор;

 – – – – – – – –

until <булевское выражение>;

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

Явного перебора параметров в Repeat не предусмотрено, поэтому изменение параметров осуществляется в теле цикла. Здесь же необходимо позаботиться, чтобы рано или поздно булевское выражение стало истиной.

Замечания:

  1.  Тело оператора repeat выполняется по меньшей мере один раз. Оператор repeat еще называют циклом с послеусловием.
  2.  Перед until ';' не ставится.

Пример: найти сумму четных чисел в интервале от 0 до 100.

Program Prim;

Var i,s:integer;

BEGIN   i:=0;    s:=0;

Repeat

i:=i+2;  s:=s+i

until i>100;

writeln('s=',s);

END.

Оператор While

While – оператор цикла с предусловием.

Общий вид оператора: While  <булевское выражение> do

тело цикла.

Работа оператора. Вначале вычисляется булевское выражение, и если оно истинно, то выполняется тело цикла; если оно ложно, то происходит выход из цикла.

Тело цикла – один оператор, как правило, составной. Мы должны позаботиться о том, чтобы булевское выражение в теле цикла на каком-то этапе стало ложным, иначе цикл никогда не закончится. Цикл можно сделать умышленно бесконечным, написав: while true do оператор;

Пример: найти сумму четных чисел в интервале от 0 до 100.

Program Prim;

Var i,s:integer;

BEGIN  

i:=0; s:=0;

while i<100 do

Begin  i:=i+2;   s:=s+i; end;

writeln('s=',s);

END.

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

Program Prim;

Var

i,j:integer;

  BEGIN

for i:=1 to 5 do

   Begin       

   writeln;

       for j:=20 to 23 do

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

     end;

END.

Для цикла

for i:=1 to 5 do

телом цикла является

begin for j:=20 to 23 do

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

writeln;     

end;

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


 

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

32199. Особенности производства очной ставки с участием н/летних 30.5 KB
  Особенности производства очной ставки с участием н летних. Принимая решение о производстве очной ставки с участием несовершеннолетних особенно малолетних следователь прежде всего должен учитывать особенности их психики и влияние этих особенностей на ход и результаты очной ставки. К тому же несовершеннолетним особенно малолетним нередко присущи фантазия преувеличение иллюзии воображение подражание что служит причиной многих ошибок в показаниях Если же возникшее противоречие иным путем устранить не удалось перед следователем встает...
32200. Венецианская штукатурка 41 KB
  Венецианская штукатурка пришла из Древнего Рима, где мрамор был обыденным материалом для возведения зданий и их украшения. После его обработки оставалось достаточно много мраморной крошки и пыли, которую предприимчивые мастера начали использовать в качестве штукатурки
32201. Звук и, и буквы Ии 37.5 KB
  Ставим ручку на верхнюю линеечку рабочей строки, опускаемся по прямой наклонной линии вниз, выполняем поворот на месте, поднимаемся по крючку до середины, пишем «секрет», по «секрету» прямая наклонная линия вниз, поворот на месте, крючок до середины.
32202. Тактика предъявления для опознания живых лиц 24 KB
  Тактика предъявления для опознания живых лиц. изменены на короткое время кримка разработала тактич правила проведения опознания по функц признакам. Делится как бы на 2 этапа: 1 опознаваемый не знает что его предъявляют для опознания опознаваемый и опознающий находятся в разных комнатах 2 После того как он опознан их заводядт в один кабинет и сост протокол. Общие правила предъявления: 1 предъявлению предшествует допрос опознающего лица при чём обращается внимание на два обства надо выяснить условия в которых опознающий наблюдал...
32203. Тактика предъявления для опознания предметов 23.5 KB
  Следль спрашивает узнает ли опознающий данный предмет среди предъявленных и при положит ответе предлагает указать признаки по которым опознан вещь. Если опознающий сообщил какието новые детали не указанные им на допросе они дословно фиксирся в протоколе а опознающий допрашивается о причинах по которым он не сообщил своевременно и признаках предмета. Если опознающий пожелает надо разрешить ему взять вещь в руки.
32204. Виды следственного эксперимента 38.5 KB
  Виды следственного эксперимента. Нр эксперименты по проверке возможности проникновения лиц через определенные преграды совершение опред действий переноса тяжести; 3 установление механизма образования следов. Доказательственное значение следственного эксперимента зависит от степени его приближения к реальным событиям. Они зависят от обстоятельств сопровождавших проверяемое событие содержания события и целей эксперимента определенных ст.
32205. Значение повторного осмотра МП и тактич особенности его проведения 27.5 KB
  Значение повторного осмотра МП и тактич особенности его проведения. Повторный осмотр новое полное исследе всего МП уже подверг осмотру. Необходимость в нем возн в случ когда первичный осмотр проведен в неблаг услх метеорологич или недоброкачественно. При провед повт осмотра примен те же проц правила и такт приемы что и при провед первичн осмотра.
32206. Тактич приемы производства обыска на местности 26.5 KB
  Тактич приемы производства обыска на местности. В процессе обыска просматриваются и обследуются щупом стога сена цветоч клумбы корни кустарников. Особенности обыска на открытой местности. Тактика обыска определяется с учетом размеров обыскиваемого пространства характера искомых объектов наличия нежилых построек водоемов колодцев особенностей грунта и растительности.
32207. Источники информации и тактические основы розыска преступников 44.5 KB
  Источники инфции и тактич основы розыска престков. Последнее предназначено для целенаправленного розыска различных объектов представляющих интерес для расследования. Следователь информирует работников патрульнопостовой службы ГИБДД участковых инспекторов сотрудников служб криминальной милиции в масштабах города на территории которого ведется розыск об индивидуальноопределенных признаках объектов розыска. Нередко важные очевидцы устанавливаются после обращения органов расследования к коллективам предприятий учреждений организаций...