Задача 1. Вычислить
при заданных значениях методом трапеций.
Блок схема имеет следующий вид:
Рис.51. Блок схема метод трапеций
Ниже приводится текст программы с результатами расчетов:
static double Integral1(double h, double a1, double a)
{
double I = 0;
double d = a + h;
while (d < a1)
{
I = I + Math.Sqrt(Math.Pow(d, 3) + a1/d);
d = d + h;
}
I = h * (I + (Math.Sqrt(Math.Pow(a, 3) + a1 / a) + Math.Sqrt(Math.Pow(a1, 3) + a1 / a1))/2);
return I;
}
static double Integral2(double h)
{
double I2 = 0;
double d = Math.PI / 6 + h;
while (d < Math.PI/2)
{
I2 = I2 + Math.Sin(d)/d;
d = d + h;
}
I2 = h * (I2 + ((Math.Sin(Math.PI/6) / (Math.PI / 6)) + (Math.Sin(Math.PI / 2) / (Math.PI / 2)))/2);
return I2;
}
static void Main(string[] args)
{
double a1 = 0.0001;
Console.Write("Введите а: ");
double a = double.Parse(Console.ReadLine());
Console.Write("Введите n: ");
int n = int.Parse(Console.ReadLine());
double h = (a - a1) / n;
double h2 = (Math.PI / 2 - Math.PI / 6);
Console.Write("Искомое значение: ");
Console.WriteLine(Integral1(h, a1, a) + Integral2(h2));
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для вычисления искомого значения, необходимо, ввести: a и n(разбиение):
"Введите а: "
5 Enter;
"Введите n: "
5 Enter;
Далее, программа вычисляет шаг(h) и переводит все необходимые значения в методы, которые вычисляют искомое значение.
Рис. 52 Результат работы программы по вычислению суммы интегралов.
Задача 2. Вычислить
при заданных значениях методом Симпсона.
Блок схема имеет следующий вид:
Рис.51. Блок схема метод Симпсона
Ниже приводится текст программы с результатами расчетов:
static double Integral1(double h1_1, double B1)
{
double I1 = h1_1 * ((Math.Sin(Math.PI/2)/(B1*Math.PI/2)) +( 4 * Math.Sin((Math.PI + B1)/2) / (B1 * (Math.PI + B1)/2)) + (Math.Sin(B1 + Math.PI / 2) / (B1 *(B1 + Math.PI / 2))));
double h2_1 = 1/3;
double I2_1 = h2_1 * (Math.Sqrt(1 + Math.Pow(B1, 2) * Math.Pow(Math.Cos(-1), 2)) + Math.Sqrt(1 + Math.Pow(B1, 2) * Math.Pow(Math.Cos(1), 2)) + 4 * Math.Sqrt(1 + Math.Pow(B1, 2) * Math.Pow(Math.Cos(0), 2)));
return I1 + I2_1;
}
static double Integral1_2(double h1_2, double B2)
{
double I2 = h1_2 * ((Math.Sin(Math.PI / 2) / (B2 * Math.PI / 2)) + (4 * Math.Sin((Math.PI + B2) / 2) / (B2 * (Math.PI + B2) / 2)) + (Math.Sin(B2 + Math.PI / 2) / (B2 * (B2 + Math.PI / 2))));
double h2_1 = 1 / 3;
double I2_2 = h2_1 * (Math.Sqrt(1 + Math.Pow(B2, 2) * Math.Pow(Math.Cos(-1), 2)) + Math.Sqrt(1 + Math.Pow(B2, 2) * Math.Pow(Math.Cos(1), 2)) + 4 * Math.Sqrt(1 + Math.Pow(B2, 2) * Math.Pow(Math.Cos(0), 2)));
return I2 + I2_2;
}
static double Integral1_3(double h1_3, double B3)
{
double I3 = h1_3 * ((Math.Sin(Math.PI / 2) / (B3 * Math.PI / 2)) + (4 * Math.Sin((Math.PI + B3) / 2) / (B3 * (Math.PI + B3) / 2)) + (Math.Sin(B3 + Math.PI / 2) / (B3 * (B3 + Math.PI / 2))));
double h2_1 = 1 / 3;
double I2_3 = h2_1 * (Math.Sqrt(1 + Math.Pow(B3, 2) * Math.Pow(Math.Cos(-1), 2)) + Math.Sqrt(1 + Math.Pow(B3, 2) * Math.Pow(Math.Cos(1), 2)) + 4 * Math.Sqrt(1 + Math.Pow(B3, 2) * Math.Pow(Math.Cos(0), 2)));
return I3 + I2_3;
}
static void Main(string[] args)
{
double B1 = Math.PI / 6;
double B2 = Math.PI / 8;
double B3 = Math.PI / 10;
double h1_1 = (B1) / 6;
double h1_2 = (B2) / 6;
double h1_3 = (B3) / 6;
Console.WriteLine("Значение V(B), при B = PI/6: {0}", Integral1(h1_1, B1));
Console.WriteLine("Значение V(B), при B = PI/8: {0}" ,Integral1_2(h1_2, B2));
Console.WriteLine("Значение V(B), при B = PI/10: {0}" , Integral1_3(h1_3, B3));
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Далее, программа производит расчет и выводит сообщение с искомыми величинами в окно консоли.
Рис. 54 Результат работы программы по вычислению суммы интегралов.
Задача 3. Решить следующие уравнения , с помощью графиков для ; здесь – задаются.
Блок схема имеет следующий вид:
Рис.55. Блок схема задачи 3
Ниже приводится текст программы с результатами расчетов:
static void solution(double a, double b, double c, double d)
{
while (c <= d)
{
double y1 = Math.Pow(Math.E, -1 * Math.Pow(a * c, 2));
double y2 = b * Math.Pow(c, 3);
if (y1 == y2)
{
Console.WriteLine("X = {0}, \n Y = {1}", c, y1);
}
else
{
Console.WriteLine("Точек пересечения нет.");
}
c = c + 0.001; // Шаг х
}
}
static void Main(string[] args)
{
Console.WriteLine("Введите а: ");
double a = double.Parse(Console.ReadLine());
Console.WriteLine("Введите b: ");
double b = double.Parse(Console.ReadLine());
Console.WriteLine("Введите c: ");
double c = double.Parse(Console.ReadLine());
Console.WriteLine("Введите d: ");
double d = double.Parse(Console.ReadLine());
solution(a,b,c,d);
Console.ReadLine();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для решения уравнения, необходимо, ввести a, b и [c,d]:
"Введите а: "
1 Enter;
"Введите b: "
1 Enter;
"Введите c: "
1 Enter;
"Введите d: "
10 Enter;
Далее, программа производит расчет и выводит сообщение с искомыми величинами или сообщение об отсутствии точек пересечения в окно консоли.
Рис. 56 Результат работы программы по вычислению решения уравнения.
Задача 4. Начертить график траектории движения снаряда по формулам
; ,
при заданных значениях и g. Время изменяется от до шагом здесь и – задаются.
Блок схема имеет следующий вид:
Рис.57. Блок схема задачи 4
Ниже приводится текст программы с результатами расчетов:
static void ch(double t, double T, double _t, double Vx, double Vy)
{
double g = 9.81;
Console.ForegroundColor = ConsoleColor.Red;
while (t <= T)
{
double x = Vx * t;
double y = Vy*t - (g*Math.Pow(t,2)/2);//считаем уравнение
Console.WriteLine("X = {0}, Y = {1}", x, y);
t = t + _t;
}
}
static void Main(string[] args)
{
Console.Write("Введите t: ");
double t = double.Parse(Console.ReadLine());
Console.Write("Введите T: ");
double T = double.Parse(Console.ReadLine());
Console.Write("Введите шаг изменения t: ");
double _t = double.Parse(Console.ReadLine());
Console.Write("Введите скорость по оси Х: ");
double Vx = double.Parse(Console.ReadLine());
Console.Write("Введите скорость по оси Y: ");
double Vy = double.Parse(Console.ReadLine());
ch(t, T, _t, Vx, Vy);
Console.ReadLine();
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Для решения уравнения, необходимо, ввести начальное t, конечное T, шаг изменения , скорости по осям Ox и Oy:
"Введите t: "
1Enter;
"Введите T: "
10 Enter;
"Введите шаг изменения t: "
1 Enter;
"Введите скорость по оси Х: "
2 Enter;
"Введите скорость по оси Y: "
2
"X = 2, Y = -2,905"
"X = 4, Y = -15,62"
"X = 6, Y = -38,145"
"X = 8, Y = -70,48"
"X = 10, Y = -112,625"
"X = 12, Y = -164,58"
"X = 14, Y = -226,345"
"X = 16, Y = -297,92"
"X = 18, Y = -379,305"
"X = 20, Y = -470,5"
Далее, программа производит расчет и выводит сообщение с искомыми величинами в окно консоли.
Рис. 58 Результат работы программы по вычислению искомых величин.
Задача 5. Решить систему линейных алгебраических уравнений (СЛАУ):
методом Гаусса.
Блок схема имеет вид:
Рис. 59 Блок схема реализующая иллюстрирующая метод Гаусса.
Ниже приводится текст программы с результатами расчетов:
static void Solution(double[,] a)
{
for (int i = 0; i < 4; i++)
{
a[0, i] = Math.Round(a[0, i] / 3, 2); // 1-ю строку делю на 3
}
for (int i = 0; i < 4; i++)
{
a[2, i] = Math.Round(a[2, i] - a[0, i], 2); // От 3-й строки отнимаю 1-ю
}
for (int i = 0; i <4; i++)
{
a[1, i] = Math.Round( a[1, i] - 2 * a[0, i], 2); // От 2-й строки отнимаю 1-ю, умноженную на два
}
for (int i = 0; i < 4; i++)
{
a[1, i] = Math.Round(a[1, i] / (-13 / 3), 2); // 2-ю строку делю на (-13/3)
}
for (int i = 0; i < 4; i++)
{
a[0, i] =Math.Round( a[0, i] - a[1, i] * (5 / 3), 2); // От 1-й строки отнимаю 2-ю строку, умноженную на (5/3)
}
for (int i = 0; i <4; i++)
{
a[2, i] =Math.Round( a[2, i] + a[1, i] * (20 / 3), 2); // к 3-й строке добавляю 2-ю строку, умноженную на (20/3)
}
for (int i = 0; i < 4; i++)
{
a[2, i] = Math.Round(a[2, i] / (42 / 13), 2); // Делю 3-ю строку на (42/13)
}
for (int i = 0; i < 4; i++)
{
a[0, i] = Math.Round(a[0, i] - a[2,i] * (9/13), 2); // От 1-й строки отнимаю 3-ю строку, умноженную на (9/13)
}
for (int i = 0; i < 4; i++)
{
a[1, i] = Math.Round(a[1, i] + (a[2, i] * 8)/13, 2); //к 2 строке добавляю 3 строку, умноженную на (8/13)
}
Console.WriteLine("x = {0}", a[0,3]);
Console.WriteLine("y = {0}", a[1, 3]);
Console.WriteLine("z = {0}", a[2, 3]);
}
static void Main(string[] args)
{
double[,] a = new double[3, 4] { { 3,5,-1,1}, { 2,-1,2,2}, {1,-5,7,3 } };
Solution(a);
Console.ReadKey();
}
Инструкция по работе с кодом программы была написана для запуска в Microsoft Visual Studio.
Для начала компиляции кода программы, необходимо нажать на кнопку Start на панели инструментов Microsoft Visual Studio или кнопку F5 на клавиатуре. В случае, если при компиляции не были обнаружены синтаксические или прочие ошибки, код успешно компилируется и выводится программа в окне консоли (черное окно вывода).
Далее, программа производит расчет и выводит сообщение с искомыми величинами в окно консоли.
Рис. 60 Результат работы программы по определению решения СЛАУ методом Гаусса.
Do'stlaringiz bilan baham: |