Операторы цикла. Циклический процесс, или просто цикл, – это повторение одних и тех же действий. Последовательность действий, которые повторяются в цикле,

Презентация:



Advertisements
Похожие презентации
Программирование циклических алгоритмов. Цикл - многократное повторение последовательности действий по некоторому условию.
Advertisements

В алгоритмической структуре «цикл» серия команд (тело цикла) выполняется многократно. Циклы бывают 2 типов: 1.Цикл со счетчиком. Используется когда заранее.
Циклический алгоритм –это алгоритм команды которого выполняются несколько раз подряд. В языке Паскаль имеется три различных оператора цикла: 1. Оператор.
Циклические конструкции 1. Цикл с предусловием предусловием 2. Цикл с постусловием постусловием 3. Цикл с параметром параметром 4. Вложенные циклы Вложенные.
1 Тема 4. Циклы на языке Паскаль.
ЦИКЛИЧЕСКИЕ алгоритмы и операторы циклов. Различают три способа организации циклов: 4 цикл с предусловием; цикл с предусловием 4 цикл с постусловием;
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
Циклические вычислительные процессы. Процессы, в которых ряд действий повторяются многократно по одним и тем же математическим зависимостям, называются.
Циклы в решении задач на целочисленную арифметику.
Операторы языка Паскаль. Операторы повтора (цикла)
_BAK_v03TOP
Операторы цикла в Pascal. Многократно повторяющийся участок вычислительного процесса называется циклом. Если заранее известно количество необходимых повторений,
Цикл - это специальная конструкция языка, позволяющая запрограммировать многократное выполнение определённого блока команд. Сам блок команд называется.
Программирование на языке Паскаль Операторы повторений.
Язык программирования Паскаль 6 часть. ЦИКЛЫ Повторение некоторой последовательности действий называется циклом.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Презентация на тему: «Программирование циклических структур». Составила: учитель информатики Чура Н.А. Составила: учитель информатики Чура Н.А.
Организация программ циклической структуры. Виды циклов: Цикл с предусловием (while) Цикл с постусловием (repeat) Цикл с параметром (for)
Транксрипт:

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

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

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

Оператор цикла с предусловием while.. do На рис. изображена блок-схема алгоритма цикла с предусловием. Оператор, реализующий этот алгоритм в языке Pascal, имеет вид: while выражение do оператор; здесь while... do – зарезервированные слова языка Pascal, выражение – логическая константа, переменная или логическое выражение, оператор – любой допустимый оператор языка.

Работает оператор while следующим образом Вычисляется значение выражения. Если оно истинно (True), выполняется оператор. В противном случае цикл заканчивается, и управление передается оператору, следующему за телом цикла. Выражение вычисляется перед каждой итерацией цикла. Если при первой проверке выражение ложно (False ), цикл не выполнится ни разу.

Если в цикле надо выполнить более одного оператора, необходимо использовать составной оператор: while условие do begin оператор_1; оператор_2; … оператор_n; end;

Задача. Пусть необходимо вывести на экран значения функции на отрезке [0; ] с шагом 0.1. var x,y:real; begin {Присваивание параметру цикла стартового значения} x:=0; {Цикл с предусловием} while x<=pi do {Пока параметр цикла не превышает конечное значение, выполнять тело цикла} begin {Вычислить значение y} y:=exp(sin(x))*cos(x); {Вывод на экран пары х и y} writeln('x=', x,' y=', y); {Изменение параметра цикла и переход к следующему значению x} x:=x+0.1; end; {Конец цикла} end.

Задания для самостоятельного решения Задание 1. Вычислить сумму натурального ряда чисел от 1 до N. Задание 2. Вычислить значения функции y=2lnx – 3x на отрезке [a,b] с шагом h (a, h>0). Задание 3. Найти значение минимального положительного члена числовой последовательности, заданной рекуррентными соотношениями: X n =X n -1 + X n-2 +X n , X 1 =X 2 =X 3 =-99. Задание 4. Используя алгоритм Евклида, найти НОД (наибольший общий делитель) двух чисел. Алгоритм Евклида: 1. пока переменные неравны, заменить большее значение на разность большего и меньшего; 2. выбрать любое значение в качестве результата.

Оператор цикла с постусловием repeat … until Если в цикле с предусловием проверка условия осуществляется до тела цикла, то в цикле с постусловием условие проверяется после тела цикла. Сначала выполняются операторы, являющиеся телом цикла, после чего проверяется условие, если последнее ложно, то цикл повторяется. Выполнение цикла прекратится, если условие станет истинным.

В языке Pascal цикл с постусловием реализован конструкцией: repeat оператор; until выражение; здесь repeat.. until – зарезервированные слова языка Pascal, выражение – логическая константа, переменная или логическое выражение, оператор – любой допустимый оператор языка.

Если тело цикла состоит более чем из одного оператора, то цикл с постусловием имеет вид: repeat оператор_1; оператор_2; оператор_N; until выражение; Алгоритм цикла с постусловием

Цикл с постусловием всегда будет выполнен хотя бы один раз в отличие от цикла с предусловием, который может не выполниться ни разу. Если применить цикл с постусловием для создания подпрограммы, которая выводит значения функции на отрезке [0; ] с шагом 0.1, получим:

var x,y:real; begin {Присваивание параметру цикла стартового значения.} x:=0; {Цикл с постусловием.} repeat {Начало цикла} y:=exp(sin(x))*cos(x); writeln('x=',x,' y=',y); x:=x+0.1; {Изменение параметра цикла.} until x>pi; {Закончить работу цикла, когда параметр превысит конечное значение.} end.

Задания для самостоятельного решения 1. Вычислите значение функции для х принадлежащего отрезку [-4; 4] с шагом 0,5. 2. Вычислите сумму ряда для n введенного с клавиатуры. 3. Напишите программу, которая проверяет, является ли целое число, введенное пользователем, простым.

Оператор цикла for … do Операторы цикла с условием обладают значительной гибкостью, но не слишком удобны для организации «строгих» циклов, которые должны быть выполнены заданное число раз. Оператор цикла for … do используется именно в таких случаях: for i:= in to ik do оператор; for i:= ik downto in do оператор; где оператор – любой оператор языка, i, in и ik - переменные целочисленного или перечислимого типов. Переменную i называют параметром цикла. Переменные in и ik диапазон изменения параметра цикла: in начальное значение, а ik конечное значение параметра цикла.

Шаг изменения цикла for всегда постоянен и равен интервалу между двумя ближайшими значениями типа параметра цикла (при целочисленном значении параметра цикла шаг равен 1). В случае если тело цикла состоит более чем из одного оператора, необходимо использовать составной оператор: for i:= in to ik do begin оператор_1; оператор_2; оператор_n; end;

Алгоритм работы цикла for...do Фрагмент подпрограммы, приведенный далее, демонстрирует применение цикла for: var i:integer; c:char; begin {Вывод на экран чисел от 1 до 10} for i:=1 to 10 do writeln(i); {Вывод на экран чисел от 10 до -10} for i:=10 downto -10 do writeln(i); {Вывод на экран символов от a до r} for c:='a' to 'r' do writeln(c); end;

Вернемся к задаче вывода значений функции на отрезке [0; ] с шагом 0.1. Как видим, здесь количество повторений цикла явно не задано. Однако это значение, можно легко вычислить. Предположим, что параметр цикла х принимает значения в диапазоне от xn до xk, изменяясь с шагом dj, тогда количество повторений тела цикла можно определить по формуле: округлив результат деления до целого числа. Следовательно, фрагмент программы вывода значений функции будет иметь вид:

var i,n:integer; x,y:real; begin {Количество повторений цикла:} {n=(xk-xn)/dx+1; xk=pi, xn=0, dx=0.1} n:=round((pi-0)/0.1)+1; x:=0; {Начальное значение аргумента.} {Цикл с известным числом повторений,} {i – параметр цикла,изменяется от 1 до n с шагом 1.} for i:=1 to n do begin {Начало цикла.} {Вычисление значения функции } y:=exp(sin(x))*cos(x); {для соответствующего значения аргумента.} writeln('x=',x,' y=',y); x:=x+0.1; {Вычисление нового значения аргумента.} end; {Конец цикла.} end.