Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
13.03.2016
Размер:
160.26 Кб
Скачать

Состав данных

Имя

Смысл

Тип

Структура

 

Исходные данные

 

A

левая граница отрезка

веществ

простая

 

 

 

переменная

B

правая граница отрезка

веществ

-“-

 

допустимая погрешность

веществ

-“-

Np

предельное число

целый

-“-

 

итераций

 

 

 

Выходные данные

 

x

приближенное решение

веществ

-“-

N

число итераций

целый

-“-

 

Промежуточные данные

 

Fl

флажок

целый

-“-

true, при _ продолжении _ цикла Fl false, при _ завершении _ цикла _

 

 

начало

 

 

 

Program koren;

 

 

ввод A,B, ,Np

 

 

Var A,B,E,x:real;

 

 

 

 

Np,N:integer;Fl:boolean;

 

 

N:=0

 

 

 

begin

 

 

 

 

 

 

writeln(´input A,B,E,Np´);

 

 

Fl:=true

 

 

readln(A,B,E,Np);

 

 

 

 

Fl:=true;

N:=0;

 

 

 

 

-

 

 

while Fl do

 

 

 

Fl

 

 

 

begin

 

 

 

+

 

 

 

N:=N+1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x:=(A+B)/2;

 

 

N:=N+1

 

 

if F(B)*F(x)<=0 then

 

 

x:=(A+B)/2

 

 

A:=x

 

 

 

 

 

else

 

 

-

 

 

 

 

+

B:=x;

 

 

F(x)*F(B) 0

if B-A<E then

 

B:=x

 

 

 

 

A:=x

begin

 

 

 

 

 

 

Fl:=false;

 

-

 

 

 

 

+

writeln(´root=´, x)

 

B-A<

 

 

end

 

-

 

 

else

 

N>Np

+

 

 

Fl:=false

if N>Np then

 

 

begin

 

 

Fl:=false

 

вывод x

 

Fl:=false;

 

 

 

 

writeln(´N>Np´);

 

вывод ‘N>Np

 

 

end

 

 

 

end;

 

 

 

 

 

 

 

 

readln

 

 

 

 

 

 

 

 

end.

 

 

 

конец

 

 

 

Вопрос: тестирование?

Замечание по блок-схеме предыдущего слайда (добавление после лекции)

Для метода деления отрезка пополам сравнение N c Np бессмысленно, так как число итераций, необходимых для вычисления корня, можно получить, исходя из соотношения:

b a

2N

В левой части неравенства стоит длина отрезка на N-ой итерации ( за одну итерацию длина уменьшается в 2 раза). Откуда получаем:

 

b

a

N log2

 

,

 

 

где . - большее ближайшее целое.

На бессмысленность сравнения N c Np для метода деления отрезка пополам обратил внимание студент Андрианов Евгений (ЭР01-06), за что ему искреннее большое спасибо (и +0.5 балла к экзамену). Однако такое сравнение может с успехом применяться в других методах (методе итераций и др.)

КЛАССИФИКАЦИЯ

ЦИКЛОВ

Детерминированный цикл – о котором можно сказать, сколько раз он выполнится, не выполняя его.

Итерационный цикл – о котором нельзя сказать, сколько раз он выполнится, не выполнив его.

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

Вопрос: какие циклы мы только что запрограммировали?

КЛАССИФИКАЦИЯ

ЦИКЛОВ

ЦИКЛЫ

ИТЕРАЦИОННЫЕ ДЕТЕРМИНИРОВАННЫЕ

ПАРАМЕТРИЧЕСКИЕ

ЦИКЛЫ

ДО

ПОКА

ЦИКЛЫ РАЗЛИЧНОЙ КРАТНОСТИ

Однократные

Двукратные

. . .