78204

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

Лекция

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

Примеры алгоритмов циклической структуры. Процедуры ограничения и прерывания цикла. Для организации цикла необходимо выполнить следующие действия: перед началом цикла задать начальное значение параметра; внутри цикла изменять параметр цикла с помощью оператора присваивания; проверять условие повторения или окончания цикла; управлять циклом т. переходить к его началу если он не закончен или выходить из цикла в противном случае.

Русский

2015-02-07

74 KB

0 чел.

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

Оглавление

[1] Оглавление

[2] Оператор цикла с параметром

[2.1] Примеры алгоритмов циклической структуры

[3] Процедуры ограничения и прерывания цикла

[3.1] Контрольные вопросы и задания

Комбинированный урок №6

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

Цель: формирование знаний о форматах операторов For, навыков применения операторов, приемов составления схем алгоритмов циклических вычислительных процессов. Примеры использования операторов.

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

Для организации цикла необходимо выполнить следующие действия:

  •  перед началом цикла задать начальное значение параметра;
  •  внутри цикла изменять параметр цикла с помощью оператора присваивания;
  •  проверять условие повторения или окончания цикла;
  •  управлять циклом, т.е. переходить к его началу, если он не закончен, или выходить из цикла в противном случае.

Различают циклы с известным числом повторений (цикл с параметром) и итерационные (с пред- и постусловием).

В цикле с известным числом повторений параметр изменяется в заданном диапазоне.

Если в цикле изменяется простая переменная, то она является параметром цикла; если в цикле изменяется переменная с индексом, то индекс этой переменной является параметром цикла.

Для организации цикла с известным числом повторений в Pascal используется оператор for.

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

Общий вид оператора цикла с параметром:

FOR i:= A TO B DO оператор;

где i - параметр цикла (счетчик повторов) - переменная целого типа (integer);

A и B - начальное и конечное значения параметра цикла-выражения того же типа, что и параметр цикла;

оператор - любой простой или составной оператор, который требуется повторить несколько раз.

Оператор цикла типа FOR...TO...DO предусматривает последовательное увеличение на единицу параметра цикла i от начального значения A до конечного значения B и выполнение входящего в цикл алгоритма при каждом значении параметра цикла.

В качестве иллюстрации применения оператора цикла FOR...TO...DO рассмотрим решение с его помощью предыдущей задачи, где на экран несколько раз выводится слово "ЦИКЛ".

Program Primer; 

Uses Crt; 

Var i:integer; 

Begin 

TextColor(Yellow); TextBackGround(Blue); 

ClrScr; 

FOR i:=1 TO 5 DO Writeln('ЦИКЛ'); 

Readln

End.

Приведем еще один пример использования оператора цикла с параметром. В этом примере с клавиатуры вводится целое число N, после чего вычисляется сумма всех целых чисел от 1 до N.

Program Primer;

Uses Crt;

Var i,N,S:integer;

Begin

TextColor(Green); TextBackGround(Cyan);

ClrScr;

Write('N= '); Readln(N); {C клавиатуры ввели целое число в переменную “N”}

S:=0; {Задали начальное значение суммы}

FOR i:=1 TO N DO S:=S+i; { во время каждого из повторов значение суммы "S" увеличивается }

{ на новую величину счетчика "i" }

Writeln('S= ',S:6);

Readln

End. 

В этой программе оператор S:=S+i выполняется N раз, при различных значениях параметра цикла i.

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

FOR i:=B    DOWNTO A    DO   оператор;

где i, A и B имеют прежний смысл. Отличие от предыдущего варианта цикла в том, что в операторе цикла типа FOR...DOWNTO...DO шаг наращивания параметра равен -1, при этом начальное значение счетчика повторов B больше конечного значения A.

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

Program Primer; 

Uses Crt; 

Var i,N,S:integer; 

Begin 

TextColor(Red); TextBackGround(White); 

ClrScr; 

Write('N= '); Readln(N); 

S:=0; {начальное значение суммы} 

FOR i:=N DOWNTO 1 DO S:=S+i; 

Writeln('S= ',S:6); 

Readln 

End. 

Для операторов цикла с параметром существуют некоторые ограничения:

  •  нельзя задавать шаг изменения значения параметра, отличный от 1 или -1;
  •  не желательно изменять внутри цикла значения параметра цикла, начальное и конечное значения параметра;
  •  входить в цикл можно только через его начало, а выходить - либо при исчерпании значений параметра цикла, либо при выполнении оператора перехода по метке, расположенной вне данного цикла.

Примеры алгоритмов циклической структуры

Пример 1. Дано натуральное число n, действительное число x. Вычислить  

Алгоритм решения задачи:

1) ввести данные - количество слагаемых n и число x;

2) присвоить переменной pr, в которой будем хранить степени sin x, значение 1; S := 0;

3) присвоить параметру цикла значение 1;

4) если значение параметра цикла меньше n, перейти к следующему пункту, иначе к п. 9;

5) вычислить очередную степень sin x;

6) добавить вычисленное значение к сумме;

7) увеличить параметр цикла на 1;

8) перейти к п.4;

9) вывести на печать сумму S;

10) конец.

Program Summa; {Программа вычисления суммы степеней sin x}

 Var  S, X, Pr : Real;  

N, I  : Integer;

Begin

Write('Введите число слагаемых и x: '); ReadLn(N, X);

Pr := 1; {в этой переменной хранятся последовательные степени sin x}

S := 0;

For I := 1 To N Do

Begin

Pr := Pr * Sin(X);  {Очередная степень Sin(x)}

S := S + Pr

End;

WriteLn('Сумма равна ', S : 7 : 4)

End.

Достаточно часто цикл с параметром используется при разработке программ обработки массивов.

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

Пример 2. Вычислить В в 9-й степени при В<0 с помощью оператора For.

P:=1;

For K:=1 To 9 Do P:=P*B;

Пример 3. Найти минимальное значение функции y=cos(a*x*x)+sin(b*x) для Х=5,6,7,...,25; а=105;
b=-2.38.

Program Cikl_3;

Const A=0.105; B=-2.38;

Var  Y,Ymin : Real;

X : Integer;

Begin

X:=5;

Ymin:=Cos(A*X*X) + Sin(B*X);

For X:=6 To 25 Do

Begin

Y:=Cos(A*X*X) + Sin(B*X);

If Y < Ymin Then Ymin:=Y

End;

Write('Ymin=',Ymin:10)

End.

Пример 4. Возвести B в 9-ю степень при B<0, используя оператор цикла For с убывающим значением управляющей переменной.

..

P:=1;

For K:=9 DownTo 1 Do P:=P*B;

Замечания:

1. Внутри цикла нельзя изменять ни начальное, ни конечное значения (N1, N2) переменной цикла K, а также само значение K.

2. Если в возрастающем цикле N1 > N2, то цикл не выполняется ни разу. Аналогично - для убывающего цикла с DownTo, если N2 < N1.

3. После завершения цикла значение переменной цикла K становится неопределенным, за исключением выхода из цикла с помощью оператора GoTo.

Пример 5. Составить программу вычисления произведения

Program Cikl_4;

Var K,M : Byte;

V : Real;

Begin

M:=8;

V:=1.0;

For K:=1 To M Do

V:=V * Exp(K/2*Ln(M))/(2*(M-1));

Write('V=',V:10)

End.

Пример 6. Составить программу вычисления суммы 

Program Cikl_5;

Uses Crt;

Var  K,N : Byte;

A,S : Real;

Begin

ClrScr;

Read(N,A);

S:=0;

For K:=1 To N Do S:=S + Sin(A*K) / K;

Write('S=', S:10)

End.

Процедуры ограничения и прерывания цикла

Данные процедуры применяются внутри операторов цикла с параметром или условием.

Continue;   -  ограничение цикла,

Break;      -  прерывание цикла.    

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

. . .

For i := 1 to 3 do

begin       

Write( 'Введите ПАРОЛЬ' );    

Readln(S);      {S и Parol - переменные одного типа}

If S = Parol  Then  Break        {выход из цикла}

else  

if   i <> 3  Then Continue;   {переход на новую итерацию цикла}

Writeln( 'Доступ к программе ЗАПРЕЩЕН. Нажмите Enter' );

Writeln(' );

Readln;

Halt;       {процедура прерывания выполнения программы }

end;         

. . .

Комментарий к программе: Если пароль введен правильно (введенное значение переменной S совпало с заранее заданным значением переменной Parol, то выполняется процедура Break, т.е. происходит выход из цикла For на оператор, следующий после end,  и программа продолжает работу.

Если пароль введен неправильно, то проверяется условие i<>3. Если это условие выполняется, то процедура Continue передает управление оператору For и цикл выполняется еще раз, при этом параметр цикла i увеличивается на 1. Если пароль введен неправильно трижды (I=3), то выводится сообщение «Доступ к программе ЗАПРЕЩЕН. Нажмите Enter » и выполняется процедура Halt (процедура прерывает работу программы).

Контрольные вопросы и задания

  1.  Дайте определение понятию «цикл».
  2.  Какие действия необходимо выполнить для организации цикла?
  3.  Какова структура оператора цикла с параметром? Как выполняется цикл с параметром?
  4.  Какого типа должны быть параметр цикла, его начальное и конечное значения в цикле с параметром?
  5.  Могут ли параметр цикла, его начальное и конечное значения в цикле с параметром в языке Pascal быть разных типов? Обоснуйте ответ.
  6.  Может ли один цикл быть вложен внутрь другого? Если да, то какова глубина этой вложенности?
  7.  Сколько раз исполнится фрагмент программы?

 For i := 1 to -1 Do k:=k*i;

  1.  Сколько раз исполнится фрагмент программы?

 For i := -1 to 1 Do k:=k*i;

  1.  Сколько раз исполнится фрагмент программы?

 For i := 1 downto -1 Do k:=k*i;


 

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

44460. 9-ти этажный монолитно-кирпичный жилой дом по ул. Уральской в г. Краснодаре 2.96 MB
  Разработан проект производства работ по возведению монолитного безригельного каркаса. СЩЖД 40 ПЗ Разработ. Методические указания для разработки курсового проекта составление сметной документации Краснодар: изд. Сквозные задания для контрольных курсовых работ и курсовых проектов Краснодар КПИ; Сост.
44461. Основы теории подрессоривания и расчета подвески легкового автомобиля 6.16 MB
  Плавность хода проходимость; управляемость и устойчивость автомобиля Плавность хода автомобиля Плавность хода автомобиля - это его свойства двигаться с минимальным раскачиванием колес и кузова в любых эксплуатационных условиях при различных скоростях на разных дорогах и нагрузках. Направления колебаний автомобиля показаны на рис.
44462. Оптимізація продуктивності мереж з використанням засобів моделювання 12.03 MB
  Оптимізація продуктивності мережі. В чому полягає планування мережі Використання моделювання для оптимізації продуктивності мережі Вплив топології зв'язків і продуктивності комунікаційних пристроїв на пропускну здатність мережі
44463. Зерноуборочный комбайн «БИЗОН» 873 KB
  Гидропривод обеспечивает плавную регулировку оборотов мотовила в диапазоне 045 об мин. Вал привода через клиновой ремень передает привод на молотильный барабан частота вращения которого 4501000об мин частота вращения грохота составляет ⅔ частоты вращения молотильного барабана. Такт выпуска деталей: t=Fд×60Nг=4015×60 2100=114мин. Данные по существующему заводскому техпроцессу Операция Тшт мин Операция Тшт мин Фрезерноцентровальная 670 Токарновинторезная 1090 Токарновинторезная 742 Токарновинторезная 1920 Токарновинторезная...
44464. Високочутлива телевізійна камера 7.29 MB
  Зміст пояснювальної записки: Анотація; вступ; огляд науковотехнічної літератури по схемотехнічним принципам побудови та функціонування матриць ПЗЗ та телевізійних камер; моделювання телевізійної камери та інженерні розрахунки розробка схем структурної та електричної принципової телевізійної камери з накопиченням зображення; конструкторськотехнологічна частина розробка друкованої плати; висновки; список використаної науковотехнічної літератури. Перелік графічного матеріалу: Структурна та електрична принципова схеми високочутливої...
44465. ДЕТСКИЙ АЛКОГОЛИЗМ КАК СОЦИАЛЬНАЯ ПРОБЛЕМА 183.5 KB
  Современное состояние проблемы детского алкоголизма в стране Социальные корни причин проблемы детского алкоголизма Направления в социальной работе по решению проблемы детского алкоголизма В наше время когда разрушены многие ценности и методы воспитания а нового ничего пока не создано человек по большей части подчинен сам себе и часто вынужден не жить а...
44466. ОРГАНИЗАЦИЯ РАБОТЫ ПО ОБЕСПЕЧЕНИЮ УЧАСТИЯ ПРОКУРОРОВ В РАССМОТРЕНИИ УГОЛОВНЫХ ДЕЛ СУДОМ ПЕРВОЙ ИНСТАНЦИИ 192 KB
  Принципы организации и деятельности прокуратуры и их значение для организации работы прокуратур городов и районов. Функции прокуратуры и их значение для организации работы прокуратур городов и районов Именно компетенция прокуратуры содержание ее полномочий по реализации возложенных на нее функций являются параметрами определяющими ее место в государственно-правовом механизме . Подсистема территориальных органов прокуратуры является неотъемлемой частью российской прокурорской системы и состоит из двух звеньев прокуратур субъектов...
44467. Способы выражения достоверности модальности в современном английском языке 520 KB
  Вместе с тем по вопросу о категории модальности в современной лингвистике существуют разнообразные мнения. Категория модальности была объектом изучения в трудах таких лингвистов как В. Определение лингвистического статуса категории модальности одна из сложнейших задач современного языкознания.
44468. Проектирование и расчёт колесоотбойных тротуаров 1.54 MB
  Высокая маневренность проходимость и приспособленность для работы в различных условиях делают автомобиль одним из основных средств перевозки грузов и пассажиров. Автомобильный транспорт совокупность средств сообщения автомобили автобусы прицепы полуприцепы путей сообщения дороги и сооружений АТП СТО АЗС. нужно осуществлять сразу; все грузы попадают в готовом виде; транспорт не создает новых продуктов и не изменяет свойств транспортных грузов; стоимость транспортируемых грузов увеличивается на сумму транспортных расходов...