Протокол выполнения программы 1


Отчет на задание 3 «Решение уравнений и неравенств»Вариант 11, выполнил ст. гр. СТ-12 Галимзянов Р.М.
Пункт 1
1. Постановка задачи: составить программу решения системы неравенств
;
при a2=-3;b1=-1,5;b2=-1методом последовательного перебора значений в интервале с шагом .
Текст программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication_Lab3_1
{
class Program
{
static double a2, b1, b2;
static void Main(string[] args)
{
double h = 0.0005, x0 = -5, xh, xn = 5, x;
double[] A = new double[10];
int i = 0;
string st;
FileStream s = new FileStream("a.txt", FileMode.Open);
StreamReader Re = new StreamReader(s);
//Считывание из файла "a.txt" постоянных a,b,c,d
st = Re.ReadLine();
a2 = Convert.ToDouble(st);
Console.WriteLine("a2= {0:f2}", a2);
st = Re.ReadLine();
b1 = Convert.ToDouble(st);
Console.WriteLine("b1= {0:f2}", b1);
st = Re.ReadLine();
b2 = Convert.ToDouble(st);
Console.WriteLine("b2= {0:f2}", b2);
st = Re.ReadLine();
Re.Close();
s.Close();
x = x0;
A[0] = x0;
Console.WriteLine();
Console.WriteLine("Корни уравнений x+b1=0 и (a2*x)+b2=0");
while (x <= xn)
{
xh = x + h;
if (f1(x) * f1(xh) <= 0 | f2(x) * f2(xh) <= 0)
{
i++;
A[i] = x + h / 2;
Console.WriteLine("i={0} x={1:f3}", i, A[i]);
}
x += h;
}
if (i == 0)
Console.WriteLine("Уравнения x+b1=0 и (a2*x)+b2=0 в заданном интервале x корней не имеют");
A[i + 1] = xn;
Console.WriteLine();
FileStream u = new FileStream("rez1.txt", FileMode.Create);
StreamWriter Wr = new StreamWriter(u);
Console.WriteLine("Результаты решения системы неравенств x+b1 >0 и(a2*x)+b2<0");
for (int j = 0; j <= i; j++)
{
if (f1(A[j] + h) > 0 & f2(A[j] + h) < 0)
{
Console.WriteLine("Система неравенств верна на интервале [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
Wr.WriteLine("Система неравенств верна на интервале [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
}
else
{
Console.WriteLine("Система неравенств неверна на интервале [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
Wr.WriteLine("Система неравенств неверна на интервале [{0:f3} ; {1:f3}]", A[j], A[j + 1]);
}
}
Console.ReadLine();
Wr.Close();
u.Close();
}
static double f1(double x)
{
return x+b1;
}
static double f2(double x)
{
return (a2*x)+b2;
}
}
}
Протокол выполнения программы
Результаты вычислений
Система неравенств неверна на интервале[-5,000;-1,500]
Система неравенств неверна на интервале[-1,500;-0,333]
Система неравенств верна на интервале [-0,333;5,000]
Пункт 2
Постановка задачи: составить программу решения уравнения методом последовательного перебора значений с шагом в интервале[1.10]
Текст программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace ConsoleApplication_Lab3_2
{
class Program
{
static void Main(string[] args)
{
double h = 0.0005, a = 1, b = 10, x, xh, xk, yk;
int i = 0;
x = a;
FileStream u = new FileStream("rez2.txt", FileMode.Create);
StreamWriter Wr = new StreamWriter(u);
Console.WriteLine("Корни уравнения и значения y");
Wr.WriteLine("Корни уравнения и значения y");
while (x <= b)
{
xh = x + h;
if (f(x) * f(xh) <= 0)
{
i++;
xk = x + h / 2;
yk = f(xk);
Console.WriteLine("x={0:f5} y={1:f5}", xk, yk);
Wr.WriteLine("x={0:f5} y={1:f5}", xk, yk);
}
x += h;
}
if (i == 0)
{
Console.WriteLine("Уравнение в заданном интервале x корней не имеет");
Wr.WriteLine("Уравнение в заданном интервале x корней не имеет");
}
Console.ReadLine();
Wr.Close();
u.Close();
}
static double f(double x)
{
return (Math.Exp(x))+Math.Log((x),(Math.E))-(10*x);
}
}
}
Протокол выполнения работы

Результаты вычислений
Корни уравнения и значения y
X=3,5625 Y=-0,00602

Приложенные файлы

  • docx 506501
    Размер файла: 61 kB Загрузок: 0

Добавить комментарий