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

12

4. Результаты вычислений (содержимое файла “rez2.txt”)

Корни уравнения и значения y

x=2,67625 y=-0,00008

x=3,79475 y=0,00008

x=5,38875 y=-0,00014

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

При решении системы неравенств

1. Постановка задачи:составить программу решения системы неравенств

при методом последовательного перебора значений в интервале с шагом .

Текст программы

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.IO;

namespace ConsoleApplication_Lab3_1

{

class Program

{

static double a, b, c, d;

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();

a = Convert.ToDouble(st);

Console.WriteLine("a= {0:f2}", a);

st = Re.ReadLine();

b = Convert.ToDouble(st);

Console.WriteLine("b= {0:f2}", b);

st = Re.ReadLine();

c = Convert.ToDouble(st);

Console.WriteLine("c= {0:f2}", c);

st = Re.ReadLine();

d = Convert.ToDouble(st);

Console.WriteLine("d= {0:f2}", d);

Re.Close();

s.Close();

x = x0;

A[0] = x0;

Console.WriteLine();

Console.WriteLine("Корни уравнений a*x^2+b=0 и c*x+d=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("Уравнения a*x^2+b=0 и c*x+d=0 в заданном интервале x корней не имеют");

A[i + 1] = xn;

Console.WriteLine();

FileStream u = new FileStream("rez1.txt", FileMode.Create);

StreamWriter Wr = new StreamWriter(u);

Console.WriteLine("Результаты решения системы неравенств a*x^2+b>0 и c*x+d>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 a * x * x + b;

}

static double f2(double x)

{

return c * x + d;

}

}

}


7700455053544397.html
7700476743163924.html
    PR.RU™