Лабораторная работа №2 По курсу "Методы вычисления" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю



Скачать 104.42 Kb.
Дата26.07.2014
Размер104.42 Kb.
ТипЛабораторная работа
Министерство образования науки

ГОУВПО ТвГТУ

Кафедра “Программное обеспечение”.

Лабораторная работа № 2

По курсу “Методы вычисления”

Вариант 11

Выполнял студент

Новожилов И.Ю.

Проверил Виноградов С.Ю.

Тверь 2012



  1. Написать программу, реализующую численное интегрирование функции одной переменной методом (одним из трех - по вариантам) левых прямоугольников, правых прямоугольников, прямоугольников.

  2. Написать программу, реализующую численное интегрирование функции одной переменной методом трапеций.

  3. Написать программу, реализующую численное интегрирование функции одной переменной методом Симпсона.

Функция: y = sin( x );

Листинг


using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;


namespace Integrirowanie

{

///



/// class описывающий интерфейс программы

///

public partial class Form1 : Form

{

double error;



public Form1()

{

InitializeComponent();



}
private void button1_Click(object sender, EventArgs e)

{

try



{

// Объявдение переменных

double a = Convert.ToDouble(atxt.Text);

double b = Convert.ToDouble(btxt.Text);

double h = Convert.ToDouble(htxt.Text);

error = b - a;

// проверка на ошибки

if (h <= 0)

{

MessageBox.Show("h должен быть больше 0");



return;

}

if (a > b)



{

MessageBox.Show("a должен быть меньше b");

return;

}

if (h > error)



{

MessageBox.Show("h должен быть не больше интегрированного промежутка");

return;

}

// выбор способа интегрирования



if (MPP.Checked == true)

{

textBox4.Text = operation.RightPram(h, a, b).ToString();



return;

}

if (MT.Checked == true)



{

textBox4.Text = operation.Trapezija(h, a, b).ToString();

return;

}

if (FS.Checked == true)



{

textBox4.Text = operation.Simp(h, a, b).ToString();

return;

}

}



catch (Exception exc)

{

MessageBox.Show(exc.Message);



}

}
private void button2_Click(object sender, EventArgs e)

{

try


{

System.Diagnostics.Process proc = new System.Diagnostics.Process();


string otchet1;

//задание директории в которой располагается изначальная программа

otchet1 = System.Windows.Forms.Application.

StartupPath.ToString();
//задание параметров запускаемой программы

proc.StartInfo.FileName = otchet1 + "\\otchet1.docx";

proc.StartInfo.WorkingDirectory = otchet1 + "\\otchet1.docx";
//запуск программы

proc.Start();

}

catch


{

MessageBox.Show("Не найден файл");

}

}
private void Form1_Load(object sender, EventArgs e)



{
}

///

/// Скрытие элементов

///

///

///


private void Mg_CheckedChanged(object sender, EventArgs e)

{

if (Mg.Checked == true)



{

htxt.Visible = false;

hlable.Visible = false;

}

}



///

/// Показ элементов

///

///


///

private void FS_CheckedChanged(object sender, EventArgs e)

{

if (FS.Checked == true)



{

htxt.Visible = true;

hlable.Visible = true;

}

}



///

/// Показ элементов

///

///


///

private void MT_CheckedChanged(object sender, EventArgs e)

{

if (MT.Checked == true)



{

htxt.Visible = true;

hlable.Visible = true;

}

}



///

/// Показ элементов

///

///


///

private void MPP_CheckedChanged(object sender, EventArgs e)

{

if (MPP.Checked == true)



{

htxt.Visible = true;

hlable.Visible = true;

}

}



///

/// Показ элементов

///

///


///

private void f_3_8_CheckedChanged(object sender, EventArgs e)

{

if (f_3_8.Checked == true)



{

htxt.Visible = true;

hlable.Visible = true;

}

}



///

/// Показ элементов

///

///


///

private void Ua_CheckedChanged(object sender, EventArgs e)

{

if (Ua.Checked == true)



{

htxt.Visible = true;

hlable.Visible = true;

}

}



}
/////////////////////////////////////////////////////////////////////////////

DLL /////////////////////////////////////////////////////////////////////////////

///

/// Class для реализации методов интегрирования

///

class operation

{

///



/// Функция по которой вычисляется определенный интеграл (Sin(x))

///

///
аргумент функции

/// значение функции

public static double getValue(double arg)

{

return Math.Sin(arg);



}

///

/// Метод правых прямоугольников

///

///
шаг

///
начальная точка


///
конечная точка


/// ответ

public static double RightPram(double h, double a, double b)

{

double res = 0;



for (double i = b; i > a; i -= h)

res += getValue(i) * h;

return res;

}
///

///

///



///
шаг

///
начальная точка


///
конечная точка


/// ответ

public static double Simp(double h, double a, double b)

{

double res = 0;



for (double i = a; i < b; i += h)

{

res += (h / 6) * (getValue(i) + 4 * getValue((i + i + h) / 2) + getValue(i + h));



}

return res;

}

///



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

///

///
число точек

///
начальная точка


///
конечная точка


/// ответ

public static double Trapezija(double h, double a, double b)

{
double res = 0;

for (double i = a; i < b; i += h)

res += h * ((getValue(i) + (getValue(i) + h)) / 2);

return res;

}

}


}

Вывод





Шаг 0,01

Абсолютная погрешность

Шаг 0, 1

Абсолютная погрешность

Точное значение

Метод прямоугольников

1,004195

0,004195

1,049421

0,049421

1

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

1,002045

0,002045

1,058363

0,058363

1

Метод Симпсона

0,999203

-0,000797

1,029199

0,029199

1

Метод Симпсона наиболее точно вычисляет интеграл.


Похожие:

Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №1 по курсу "тау" Вариант №2 Руководитель Ванеева Л. А. Студент Горшков И. А. Группа р-380102

Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №Х " " студент гр. Вм(РМ)-хх фамилия И. О. Проверил

Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №1 «Вычисление значений функций» студент 304 гр д/о Иванов Иван Иванович
Исследовать методы приближённого вычисления значений функций при помощи электронных вычислительных машин
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа 3 Управление транзакциями. Журнализация изменений бд студент гр. 1Спо-21 Лебедев М. К. Проверил
Исследовать работу с одной бд средствами субд access. Изучить, каким образом осуществляется незаметная для пользователей работа для...
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа по теме «Приближенные методы вычисления корней уравнений»
Заполните электронный отчет файл «Отчет по лабораторной работе Приближенные вычисления»!
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №17 по дисциплине " Методы и средства гидрометеорологических измерений". Устройство осциллографов
Устройство осциллографов. Лабораторная работа №17 по курсу “Гидрометеорологические измерения”. С. Петербург: рггму, 2002, 14 с
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №4 Вариант 8 Группа ист-11 Проверил: Раковцы Г. М.
Предусмотреть меню, позволяющее выполнять основные операции со списком: добавление и удаление элементов списка (в начало списка,...
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа по курсу «Физические основы микроэлектроники» Нижний Новгород, 2005
Операционный усилитель: Лабораторная работа по курсу «Микроэлектроника» / Сост. Н. В. Федосеева, С. М. Планкина. – Н. Новгород, ннгу,...
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №5 «Ориентирование линий и топографических карт» Вариант 11 Проверил:
Ориентировать карту с помощью буссоли с использованием истинного меридиана карты и использованием осевого меридиана карты
Лабораторная работа №2 По курсу \"Методы вычисления\" Вариант 11 Выполнял студент Новожилов И. Ю. Проверил Виноградов С. Ю iconЛабораторная работа №1 Уравнения и вычисления. Дискретные вычисления. Управление вычислениями
Этим вы определили имена и значения переменных и функцию, которую необходимо вычислить
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org