Контрольная работа по "Информатике"

Автор работы: Пользователь скрыл имя, 09 Ноября 2013 в 21:17, контрольная работа

Краткое описание

Задание Вычислить с заданной точностью ee площадь фигуры между дугами двух кривых y1 и y2 заданным численным методом интегрирования "Метод 1". Для нахождения пределов интегрирования a и b найти корни уравнения y1 - y2 = 0 заданным численным методом решения нелинейных уравнений "Метод2".

Содержание

Задание 3
График заданной функции (функций) в Excel 3
Описание заданного численного метода (методов) 4
Схема программ и подпрограмм (блок-схемы алгоритмов) 6
Листинг программы 8
Полученные результаты работы программы в виде скриншота 10
Выводы 10
Литература 11

Прикрепленные файлы: 4 файла

KONTR.PAS

— 1.24 Кб (Скачать документ)

metodxorda.pas

— 825 байт (Скачать документ)

Графики функций.xlsx

— 19.04 Кб (Просмотреть файл, Скачать документ)

Пояснительная записка.docx

— 725.21 Кб (Скачать документ)

 

 

 

 

 

 

 

 

 

Титульный лист

 

 

Содержание

Задание 3

График заданной функции (функций) в Excel 3

Описание заданного численного метода (методов) 4

Схема программ и подпрограмм (блок-схемы алгоритмов) 6

Листинг программы 8

Полученные результаты работы программы в виде скриншота 10

Выводы 10

Литература 11

 

Задание

Вычислить с заданной точностью  ee площадь фигуры между дугами двух кривых y1 и y2 заданным численным методом интегрирования "Метод 1". Для нахождения пределов интегрирования a и b найти корни уравнения y1 - y2 = 0 заданным численным методом решения нелинейных уравнений "Метод2".

y1(х)

Y2(х)

Метод1

Метод2

28

y1 = 2х

y2 = Cos(x2)+1

Трапеций

Хорд


График заданной функции (функций) в Excel


Описание  заданного численного метода (методов)

Метод трапеций

 

Для приближенного вычисления интеграла  от функции на отрезке разобьём отрезок  [a;b] на n равных частей и заменим график f(x) ломаной, состоящей из n звеньев.

 

                         

 

 

Тогда искомую площадь можно  приближенно вычислить как площадь  под ломаной, т.е. как сумму площадей получившихся маленьких трапеций:

                S≈ S1+S2+S3+…+ Sn,

где  площадь одной трапеции, например S7,можно вычислить, умножив полусумму оснований f(x7) и f(x8) на высоту h=(b-a)/n:

                   S7= (f(x7) +f(x8)/2 *h.

C увеличением n «зазор» между ломаной и графиком функции уменьшается, и вычисленная с помощью алгоритма площадь становится всё ближе к значению интеграла функции на отрезке.

 

Уточнение корней методом  хорд

Метод основан на замене функции  f (x) на каждом шаге поиска хордой, пересечение которой с осью Х дает приближение корня.

При этом в процессе поиска семейство  хорд может строиться:

а) при фиксированном левом конце  хорд, т.е. z=a, тогда начальная точка х0=b (рис.7а) ;

б) при фиксированном правом конце  хорд, т.е. z=b, тогда начальная точка х0=a (рис.7б) ;

 

Рис.1. (а, б) Графический способ отделения корней методом хорд

 

В результате итерационный процесс  схождения к корню реализуется  рекуррентной формулой:

для случая а)

 

 

для случая б)

 

 

Процесс поиска продолжается до тех  пор, пока не выполнится условие

 

 

Метод обеспечивает быструю сходимость, если f (z) f" (z) > 0, т.е. хорды фиксируются в том конце интервала [a,b], где знаки функции f (z) и ее кривизны f" (z) совпадают.

 

Рис.2. Схема алгоритма уточнения корня методом хорд

Схема программ и подпрограмм (блок-схемы алгоритмов)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Листинг программы

program Projectmy;

var

x,a,b,eps: real;

n, i: integer;

m: text;

function f (x: real): real;

begin

f:=cos(x*x)+1-exp(x*ln(2)); end;

function fi (x: real): real;

begin

fi:=ln(cos(x*x)+1)/ln(2);

end;

function df (x: real): real;

begin

df:=-2*x*sin(x*x)-ln(2)*exp(x*ln(2));

end;

function d2f (x: real): real;

begin

d2f:=-2*sin(x*x)-4*x*x*cos(x*x)-exp(x*ln(2))*ln(2);

end;

Procedure xord (a,b,eps: real; var x: real; var k: integer);

var

xk,fx,fk,h: real;

begin

k:=0;

if f (a) *d2f (a) >0

then begin xk:=a; x:=b end

else begin xk:=b; x:=a end;

fk:=f (xk);

repeat

k:=k+1;

fx:=f (x);

h:=fx* (x-xk) / (fx-fk);

x:=x-h;

until abs (h) <eps;

end;

procedure menu (var i: integer);

begin

writeln ('sozdanije fajla');

Assign (m,'D:\Rez.txt');

Rewrite (m);

writeln ('1 - Vvedite eps');

writeln ('2 - Metod xord');

writeln ('3 - exit');

repeat

writeln (' ENTER: ');

readln (i);

until (i>0) and (i<4);

end;

begin

a:=0;

b:=1;

while true do

begin

menu (i);

case i of

1: begin

writeln ('vvedute eps');

readln (eps);

end;

2: begin

xord (a,b,eps,x,n);

writeln ('x0=',x: 10: 8,' f (x0) =',f (x): 10: 8,' n=',n);

end;

3: begin

exit;

close (m);

writeln ('Dannye sapisany v file', 'D:\Rez.txt');

end;

end;

end;

readln;

end.

 

Метод хорд — итерационный численный  метод приближённого нахождения корня алгебраического уравнения.

Program MethodHorda;

    Uses Crt;

    Var

        a,b,t,x,eps: Real;

    

    Function func(x: Real): Real;

    Begin

        { function }

        func:=cos(x*x)+1-exp(x*ln(2));

    End;

    

    Begin

        ClrScr;

        { Vvod isxodnyx danyx}

        Write('vvedite levuju granizu otrezka: ');

        ReadLn(a);

        Write('vvedite pravuju granizu otrezka: ');

        ReadLn(b);

        Write('vvedite pribligenije: ');

        ReadLn(eps);

        { vythislyaem v thikle, poka ne budet dostignuto pribligenije }

        Repeat

            x:=a-func(a)*(b-a)/(func(b)-func(a));

            If func(a)*func(x)<=0 Then b:=x

                       Else a:=x;

        Until abs(func(x))<=eps;

        Writeln(' Korenj uravnenija x = ', x:10:8);

        Repeat Until KeyPressed

    End.

 

 

 

 

 

Полученные  результаты работы программы в виде скриншота



Выводы

Корень уравнения х=0,82748156

1 Полученное значение корня  найдено с достаточной точностью: 

0,00000334 < Е = 0.00001

2 При реализации программы вычисление  всех функций и численного  метода оформлено в виде подпрограмм,  что дает следующие преимущества:

  • подпрограммы независимы друг от друга, что позволяет поручать их создание различным разработчикам;
  • подпрограмма имеет небольшое количество операторов, что удобно для отладки и поиска ошибок;
  • подпрограммы легко добавлять к главной программе и удалять из нее;
  • при отладке всей программы подпрограммы можно подключать поочередно: отладив одну, можно подключать другую.

Согласно пункту задания  программа  выводит результаты работы на гибкий диск (в программе это диск d:) в файл Rez.txt.

Литература

  1. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича. – СПб.: Питер, 2006.– 640 c.;
  2. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс: учебное пособие. – М: КНОРУС, 2006. – 576 с.
  3. ГОСТ 2.105. ЕСКД. Общие требования к текстовым документам. Минск: Межгос. совет по стандартизации, метрологии и сертификации; М.: Изд-во стандартов.;
  4. ГОСТ 7.32—2001. Отчет о научно-исследовательской работе. Структура и правила оформления. – Взамен ГОСТ 7.32-91; введ. 2002–07–01. – Минск: Межгос. совет по стандартизации, метрологии и сертификации; М.: Изд-во стандартов, cop. 2002. – (Система стандартов по информации, библиотечному и издательскому делу).
  5. Заварыкин В.М. и др. Численные методы: Учеб. пособие для студентов физ.-мат. спец. пед. ин-тов/В.М. Заварыкин, В.Г. Житомирский, М.П. Лапчик. –М.: Просвещение, 1990. –176 с.: ил.
  6. Анатолий Степанов - Информатика: Учебник для вузов. 6-е изд. Издательство: Питер, 2010 г. -720с.

ФИО                                                 Номер группы                                                                       


Информация о работе Контрольная работа по "Информатике"