Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
решение интеграла методом левых прямоугольников...docx
Скачиваний:
7
Добавлен:
22.09.2019
Размер:
550.85 Кб
Скачать

3.Руководство пользователя по работе с программой.

При запуске программы предоставляется выбор: ввести данные с клавиатуры или ввести название файла, из которого необходимо прочесть эти данные.

При вводе данных необходимо учесть, что:

  1. Пределы интегрирования (x1 и x2) должны иметь значения от -1000 до 1000, их разность не должна быть нулевой;

  2. Коэффициенты в уравнениях являются (a, b, c) являются вещественными числами;

  3. Число интервалов разбиения (n) - натуральное число не более 500.

При нарушении этих требований ввод данных необходимо повторить.

Файл с исходными данными должен иметь следующую структуру данных:

Значения x1, x2, a, b, c, n, разделенные пробелами или знаками переноса на следующую строку.

Если файл будет не найден, ввод необходимо повторить.

После корректного ввода данных будет отображены для заданных значений:

  1. Значение интеграла, вычисленного методом левых прямоугольников;

  2. Точное значение интеграла;

  3. Абсолютная погрешность вычисления;

  4. Относительная погрешность вычисления.

Для каждого из 3х уравнений:

  1. ;

  2. ;

  3. .

И отображены графики этих уравнений для заданных исходных данных.

4.Блок-схемы программ

Главная программа проекта

Начало

cout<<"\nVvod dannuh:\n 1.S klaviatyru ;\n 2.Iz faila;\n e.Vuhod.\n";

successVubor=0;

float a, b, c, x1, x2;

int n; clrscr();

int successVubor, successVvod;

getch()

cout<<"Tol'ko chislovoe znachenie !\n:"; successVvod=1;

;

successVvodd

1 2 е

fflush(stdin);

cout<<"\nVvedite levuj predel integrirovaniya:";

;

cout<<"\nVvedite pyt' i imya faila (vuhod iz programmu:e):"; char filename[40]; cin>>fileName;

;

(scanf("%f",&x1))==0

Конец

д а нет

!strcmp(fileName, "e")

да нет

successVvod=0;

successVubor=1;

default

д

ifstream stream (filename, ios::in);

а нет

stream==NULL

нет да

fflush(stdin);

cout<<"\nVvedite pravuj predel integrirovaniya:";

stream>>x1>>x2>>a>>b>>c>>n; stream.close();

cout<<"Oshibka otkrutiya faila. Prover'te pravilnost pyti faila";

;

(scanf("%f",&x2))==0

!successVubor

д а нет да нет

x1==x2

cout<<"\nTol'ko chislovoe znachenie!\n"; successVvod=1;

successVvod=0;

да нет

cout<<"Oshibka.Nylevoj interval integrirovaniya. Povtorite vvod."; success Vubor=1;

successVvodd

д а нет

(x1>1000)||(x1<-1000) || (x2>1000)||(x2<-1000)

fflush(stdin);

cout<<"\nVvedite znachenie a:";

да нет

cout<<"Oshibka.Nylevoj interval integrirovaniya. Povtorite vvod."; success Vubor=1;

(scanf("%f",&a))==0

да нет

(n<1)||(n>500)

successVvod=0;

cout<<"\nTol'ko chislovoe znachenie!\n"; successVvod=1;

да нет

cout<<"Oshibka. Chislo razbienuj doljno but 0<n<=500."; successVubor=1;

successVvodd

д а нет

successVubor

fflush(stdin);

cout<<"\nVvedite znachenie b:";

нет да

int k=0;

(scanf("%f",&b))==0

k<3

да нет

д

float pribl = integr(x1, x2, n, a, b, c, k), toch = integrToch(x1, x2, a, b, c, k)

а нет

successVvod=0;

cout<<"\nTol'ko chislovoe znachenie!\n"; successVvod=1;

getch();

showGraphs(x1, x2, n, a, b, c);

Конец

successVvodd

д

Решаем интеграл от 3 уравнений, найденное приближенное значение, точное значение, абсолютную и относительную погрешность.

а нет

fflush(stdin);

cout<<"\nVvedite znachenie с:";

(scanf("%f",&c))==0

д а нет

cout<<"\nTol'ko chislovoe znachenie!\n"; successVvod=1;

successVvod=0;

д

successVvodd

а нет

fflush(stdin);

cout<<"\nVvedite znachenie n:";

(scanf("%f",&n))==0

д а нет

cout<<"\nTol'ko chislovoe znachenie!\n"; successVvod=1;

successVvod=0;

successVvodd

д а нет

Вычисление интеграла методом левых прямоугольников

Вычисление точного значения интеграла

Вычисление значение функции с номером k

Вычисление значение первообразной от функции с номером k

Отображение графика одного уравнения с № k на области от minx до miny по вертикали