Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Итерационные циклы




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

Begin

Begin

min:=f; imin:=x; {коррекция координат текущей точки минимума}

WriteLn(' correct:imin=',imin,' min=',min) {вывод новой точки минимума}

end;

if(f>max)then {сравнение текущей точки графика с максимумом и коррекция последнего }

max:=f; imax:=x; {коррекция координат текущей точки максимума}

WriteLn(' correct:imax=',imax,' max=',max) {вывод новой точки максимума}

end;

end; {конец тела арифметического цикла}

WriteLn('rezult: imin=',imin,' min=',min); {вывод итоговой точки минимума}

WriteLn('rezult: imax=',imax,' max=',max); {вывод итоговой точки максимума}

ReadKey; {ожидание нажатия клавиши для перехода от пользовательского экрана в основной}

end. {конец раздела операторов и всей программы}

Усложненным вариантом арифметического является такой цикл, в котором параметр цикла изменяется не на +1 или -1, а на произвольную величину, которую называют шагом приращения. В Паскале такой цикл можно организовать из обычного арифметического или использовать итерационные циклы.

1. Чем различается синтаксис арифметических циклов с возрастанием и убыванием параметра?

2. В каком случае ни разу не выполняется арифметический цикл а) с возрастанием и б) с убыванием параметра?

3. Может ли арифметический цикл в Паскале иметь произвольную величину шага?

Практическое задание.

1. Написать оператор арифметического цикла для вычисления и суммирования значений функции sin при всех значениях ее аргумента от 0 до 1 с шагом приращения, равным 0,05.

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

Итерационные циклы составляют основу алгоритмов, используемых для практической реализации одного из важнейших разделов вычислительной математики - итерационных численных методов приближенного решения многих математических соотношений. В частности, их применяют для численного приближенного решения уравнений вида f (x)=0, в которых функция имеет сложный нелинейный вид, не позволяющий найти решение аналитически – в виде формулы.

Основная идея численного итерационного метода решения заключается в том, что:

а) вначале задается некоторое начальное приближенное значение x 0,

б) затем по специальной формуле, которую называют расчетной схемой метода, рассчитывается итерационная расчетная последовательность xn = xn (xn -1) при n =1,2,…,

в) процесс завершается, когда будет выполнено условие завершения расчетов, которое чаще всего принимают в виде: ½ xn - xn -1½≤ e, где e - наперед заданное малое положительное число.

Итерационные циклы в зависимости от относительного положения в операторе проверяемого условия и тела цикла имеет две разновидности:

1) с предусловием - условие проверяется перед телом цикла,

2) с постусловием - условие проверяется после выполнения тела цикла.

Синтаксис итерационного цикла с предусловием имеет вид:

while выражение do оператор

Тело цикла составляет Оператор, стоящий после do. Он выполняется до тех пор, пока логическое выражение принимает истинное значение (True). Как только логическое выражение принимает значение ложь (False), осуществляется переход к оператору, следующему за оператором цикла while.

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

Если после do необходимо выполнить группу операторов, то тело цикла необходимо оформить в виде составного оператора. Блок-схема итерационного цикла с предусловием дана на рис.6.3.

Примеры 1 применения итерационных циклов с предусловием.

1) x:=1.0Е-10;while x<0.01 do x:=2*x+exp(x); {расчет возрастающих значений переменной x }

2) x:=2;delta_x:=1; {численное итерационное решение уравнения х=sin(x)+1 в окрестности x=2 }

while delta_x<1Е-3 do begin x_pr:=x; x:=sin(x)+1; delta_x:= abs(x-x_pr) end;

 

Рис.6.3. Итерационный цикл с предусловием Рис.6.4. Итерационный цикл с постусловием

Синтаксис оператора итерационного цикла с постусловием имеет вид:




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 686; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.042 сек.