Нахождение корней уравнений различными методами

Министерство Образования Российской Федерации
Иркутский Государственный Технический Университет.
Кафедра АПП.
                       Курсовая работа по программированию
                                  и основам алгоритмизации.
Выполнил студент гр.АТП-04-1
                                                                   Чечев И.С.
                                                   Проверила: Пешкова Л.И
Иркутск
2005 г
Вариант31
 
                                                      Задание 1
 
1. Проверить условиесходимости и записать расчетные формулы для нахождения корня уравнения /> с точностью />= /> методом половинногоделения, интервал существования корня [1;2].
Составить блок-схемуалгоритма и программу решения задачи. В программе предусмотреть подсчет и выводна печать числа итерации, за которое удается найти значение корня с заданнойточностью. Отладить и выполнить программу на машине.

 
начало   />Блок-схема алгоритма.
/> 
/>Functionf(x: real):real
/>Общая:     
/>
Программа.
Program delenie;
uses crt;
const
e=0.0001
var      x,a,b,t:real;
           n:integer;
functionf(x::real):real;
 begin
t:=sqrt(1+exp(2*x));
F:=exp(x)+t-2;
 end;
begin
readln(a,b);
n:=0;
if F(a)*F(b)>0then begin writeln(‘kornei net’);  end;
           whileABS(a-b)>e   do
                 Begin
n:=n+1;
x:=(a+b)/2
if F(a)*F(x)
 end;
writeln(‘koren:   ‘,x);
writeln(‘chisloiterazii:   ‘,n);
end.

                                          Задание 2.
Записать расчетныеформулы, составить блок-схему алгоритма и программу для вычисленияопределенного интеграла /> методомСимпсона, разбивая отрезок интегрирования [0;1] на 78 частей. Предусмотреть впрограмме вычисление точного значения определенного интеграла черезпервообразную />.
Решение.
Вытекает из формулыСимпсона />

Блок-схема алгоритма.

Functionp(x:real):real
/> /> /> /> /> /> /> /> />  

/>Function y(x:real):real; /> /> /> /> />
    начало   /> /> />  

 
/>

 Основная блок-схема:
/>

/>/>/>                                                />
/>

/>/>/>/>
   z=p(b)-p(a)   />/>/>
      s=s*(h/3)   />
        s=s+y(a)+y(b)   />/>/>/>/>/>/>/>
      c=-c   />
        s=s+k*y(x)   />
    k:=3+c   />
     x=x+h   />/>/>
         c=-1                                                               
                                                                                                                     
Программа.
Program Simpson;
var      x,s,h,z,a,b:real;
           n,c:integer;
            i,k:integer;
functionp(x:real):real;
 begin
p:=1/sqr(3*sin(x)+2*cos(x));
 end;
functiony(x:real):real;
 begin
y:=3/36-(3*cos(x)-2*sin(x))/(13*(2*cos(x)+3*sin(x)));
 end;
begin
      writeln(‘vvod’,a,b,n)
readln(a,b,n);
h:=(b-a)/(2*n);
c:=-1;
x:=a;
for i:=1 to 2*n-1do
 begin
x:=x+h;
k:=3+c;
s:=s+k*y(x);
c:=-c;
end;
s:=s+y(a)+y(b);
s:=s*(h/3);
z:=p(b)-p(a);
writeln(‘vivod’,z);
end.

                                        Задание 3.
                        Построить график функции.
                             Y=1/sqr(3sin(x)+2cos(x)).
Программа.
Program grafik;
uses Graph;
var x0,y0:Word;
      сrdr,crm:integer;
       x,y:real;
       i,j:word;
 begin
СrDr:=Detect;
InitGraph(GrDr,Grm,’C:\paskal\BGI’);
if GraphResult grok then
beginwriteln(‘error graf’);Halt end;
x0:=40;
y0:=GetMaxy;
setbkcolor(1);
y0:=GetMaxy;
setbkcolor(1);
setcolor(15);
Line (x0,0,x0,y0);
Line(x0,y0,getmaxx,y0);
MoveTo(x0,y0);
for i:=1 togetymaxx-40 do
begin
x:=1/(3*sin(x)+2*cos(x)*(3*sin(x)+2*cos(x)));
LineTo(x0+i,y0-round(y*40));
setcolor(15);
Line (x0,0,x0,y0);
Line(x0,y0,getmaxx,y0);
MoveTo(x0,y0);
for i:=1 togetymaxx-40 do
begin
x:=1/(3*sin(x)+2*cos(x)*(3*sin(x)+2*cos(x)));
z:=78*sin(x)+44*cos(x)*78*sin(x)+2*cos(x);
e:=cos(x)
LineTo(x0+i,y0-round(y*40));
end;
readln;
CloseGraph;
end.