Курсовая работа: Информатика Алгоритмизация и программирование
a:=-12;b:=0;h:= 1;
n1:=(b-a)/h; n:=round(n1);
for i:=0 to n do
begin
if x<-7 then y:= sin((3.14/12)*x)
else
if x<=-3 then y:= 2*cos((3.14/6)*x+(3.14/12))
else
y:= 5* sin((3.14/12)*x);
writeln('f(',x:3:1,')=',y:6:2);
x:=x+1;
end;
readln;
end.
Решение этой же задачи было проведено в Excel. При вычислении функции использовалась логическая функция ЕСЛИ. Лист с решением задачи размещен ниже.
Программу написанную на языке Паскаль копирую и вставляю в проект, затем исправляю существенные различия.
Задача 3
Применить метод деления отрезка пополам на интервале и найти с точностью
корни уравнения
.
№ | ![]() | ![]() | ![]() |
9 | -3 | 0 | ![]() |
РЕШЕНИЕ
Алгоритм метода половинного деления заключается в следующем:
1. Выбрать нулевое приближение x0 =( a+ b)/2.
2. Если f( x0 )=0, то x0 очевидно является корнем уравнения.
3. Если f( x0 )≠0, то проверить условия f( x0 )Ч f( a)<0 и f( x0 )Ч f( b)<0 и выбрать тот из отрезков [ a, х0 ], [х0 , b], на границах которого выполнено одно из этих условий (т.е. функция f(х) имеет на концах отрезка противоположные знаки).
4. Выбранный отрезок вновь разделить пополам и вычислить значение x1 .
5. Для х1 проверить условие f(х1 )=0 и, если оно не выполняется, вернуться к п. 4.
6. Процесс деления отрезков пополам продолжить до тех пор, пока длина отрезка, на концах которого функция имеет противоположные знаки, не будет меньше e .
7. Принять, что условие f( xk ) = 0 выполнено, если
Ниже приведены блок-схема алгоритма и листинг программы на языке Паскаль.
Program lab3;