Курсовая работа: Нахождение корней уравнений различными методами
|
Название: Нахождение корней уравнений различными методами Раздел: Рефераты по информатике Тип: курсовая работа | |||||||||||||||||||||||||||||||
Министерство Образования Российской Федерации Иркутский Государственный Технический Университет. Кафедра АПП. Курсовая работа по программированию и основам алгоритмизации. Выполнил студент гр.АТП-04-1 Чечев И.С. Проверила: Пешкова Л.И Иркутск 2005 г Вариант 31 Задание 1 1. Проверить условие сходимости и записать расчетные формулы для нахождения корня уравнения Составить блок-схему алгоритма и программу решения задачи. В программе предусмотреть подсчет и вывод на печать числа итерации, за которое удается найти значение корня с заданной точностью. Отладить и выполнить программу на машине.
Блок-схема алгоритма.
|
|||||||||||||||||||||||||||||||
![]() |
||
![]() |
||
Function y(x:real):real;
|
||
![]() |
||
![]() |
Основная блок-схема:

![]()
![]()
![]()
![]() |
![]()
![]()
![]()
![]()
|
|
|
|
|
|
|

|
Программа.
Program Simpson;
var x,s,h,z,a,b:real;
n,c:integer;
i,k:integer;
function p(x:real):real;
begin
p:=1/sqr(3*sin(x)+2*cos(x));
end;
function y(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-1 do
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
begin writeln(‘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 to getymaxx-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 to getymaxx-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.
Блок-схема алгоритма.
Общая:





