Министерство Образования Российской Федерации
Иркутский Государственный Технический Университет.
Кафедра АПП.
Курсовая работа по программированию
и основам алгоритмизации.
Выполнил студент гр.АТП-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.