решить , решение задачи при макросов VBA.Даны a и b. Если a и b попадают в область а < 0 и b > 0, то вычислить значение y по формуле
y = а^2+2 b ,
иначе
2x^2– 5x – 6, если x > 5
y = x /10 - 3, если x = 5
2x – x^2+ 10 , если x < 5
для произвольного x.
1. Создадим код для программы Pascale:
function f(x, a: real): real;
begin
f := exp(-x) - a * x
end;
function root(xmin, xmax, a, eps: real): real;
var fc, fm, xc: real;
begin
repeat
xc := (xmin + xmax) / 2;
fc := f(xc, a);
fm := f(xmax, a);
if ((fc >= 0) and (fm >= 0)) or ((fc <= 0) and (fm <= 0))
then xmax := xc
else xmin := xc
until abs(xmax - xmin) < eps;
root := (xmin + xmax) / 2 {можно просто root := xmin, или root := xmax}
end;
var a, eps: real;
begin
repeat
write('Точность вычисления > 0; eps = ');
readln(eps)
until eps > 0;
write('Параметр a = ');
readln(a);
if a > 0
then writeln('x = ', root(0, 1 / a, a, eps))
else if a = 0
then writeln('x стремится к бесконечности')
else if a > -exp(1)
then writeln('При данном параметре корней не существует.')
else if a = -exp(1)
then writeln('x = ', -1.0)
else writeln('x1 = ', root(-ln(-a), 0, a, eps), ', x2 = ', root(-2 * ln(-a), -ln(-a), a, eps));
readln
end.
2. Активируем код в Pascale
3.Вводим значение t=e^-ax*KOREN(x+1)+e^ax*KOREN(x-1)
Все буквы русского языка были заменены на английские так-как программа не умеет распозновать посторонние языки
4.Получаем нужное значение
Объяснение:
Pascale ABC
internal class Program
{
private static void Main(string[] args)
{
int n = 8;
int m = 10;
int[,] matrix = createRandomMatrix(n, m);
writeMatrix(matrix);
for (int i = 0; i < m; i++)
{
int count = 0;
for (int j = 0; j < n; j++)
{
if (matrix[j, i] >= 0) count++;
else count--;
}
if (count == 0) Console.WriteLine($"Столбец номер {i+1} с одинаковым кол-вом положительных и отрицательных элементов.");
}
}
private static int[,] createRandomMatrix(int n, int m)
{
Random rand = new Random();
int[,] matrix = new int[n, m];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
matrix[i, j] = rand.Next(-10, 11);
}
}
return matrix;
}
private static void writeMatrix(int[,] matrix )
{
string row = "";
int[] tempRow = new int[matrix.GetLength(1)];
for (int i = 0; i < matrix.GetLength(0); i++)
{
for (int j = 0; j < matrix.GetLength(1); j++)
{
tempRow[j] = matrix[i, j];
}
row += string.Join("\t", tempRow) + "\n";
}
Console.WriteLine(row);
}
}
Объяснение: