Міністерство Освіти Російської Федерації
Іркутський Державний Технічний Університет.
В В
Кафедра АПП.
Курсова робота з програмування
і основам алгоритмізації.
Виконав студент гр.АТП-04-1
Чечев І.С.
Перевірила: Пєшкова Л.І
Іркутськ
2005 р
Варіант 31
Завдання 1
1. Перевірити умова збіжності та записати розрахункові формули для знаходження кореня рівняння з точністю = методом половинного ділення, інтервал існування кореня [1; 2].
Скласти блок-схему алгоритму і програму рішення задачі. У програмі передбачити підрахунок і виведення на друк числа ітерації, за яке вдається знайти значення кореня із заданою точністю. Налагодити і виконати програму на машині. p>
початок
Блок-схема алгоритму. В
Function f (x: real): real
Загальна:
Програма. p> Program delenie;
uses crt;
const
e = 0.0001
var x, a, b, t: real;
n: integer;
function f (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)> 0 then begin writeln ('kornei net'); end;
while ABS (a-b)> e do
Begin
n: = n +1;
x: = (a + b)/2
if F (a) * F (x) <0 then b: = x else a: = x;
end;
writeln ('koren:', x);
writeln ('chislo iterazii:', n);
end.
В
Завдання 2.
Записати розрахункові формули, скласти блок-схему алгоритму і програму для обчислення визначеного інтеграла методом Сімпсона, розбиваючи відрізок інтегрування [0; 1] на 78 частин. Передбачити в програмі обчислення точного значення певного інтеграла через первообразную.
Рішення.
Витікає з формули Сімпсона
Блок-схема алгоритму.
Function p (x: real): real
В
Function y (x: real): real;
В В В
початок
В В В br clear=ALL>В В
Основна блок-схема:
В
В
В
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
br/>
В
Програма.
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. p> Побудувати графік функції. p> Y = 1/sqr (3sin (x) +2 cos (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.