
C/C++
Ребят, нужна помощь по программированию на С#
Задании 7. Написать код в программе Visual Studio на C#

Допустим вводятся a, b, h (a<b, h≤b-a), тогда примерно так (с печатью таблицы значений):
using System;
namespace New_Project
{ class Program
{ public static void Main()
{ double a, b, h, x, xmax, y, ymax;
int i, n; Console.Write("a b h: ");
var line = Console.ReadLine().Split(" ");
a = double.Parse(line[0]);
b = double.Parse(line[1]);
h = double.Parse(line[2]);
n = (int) ((b - a) / h);
xmax = a;
ymax = 5 * Math.Cos(3 * a);
for (i = 0; i <= n; i++)
{ x = a + i * h; y = 5 * Math.Cos(3 * x);
Console.WriteLine("{0,12:f8}{1,22:f15}", x, y);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax=" + xmax + ", ymax=" + ymax);
} } }
Печать таблицы можно убрать, например, так:
//Console.WriteLine("{0,12:f8}{1,22:f15}", x, y);
А ещё лучше эту строчку вообще стереть.
Тут ещё хитрость в том, что с шагом h можно идти не от а к b, а наоборот от b к a, но тогда и результаты могут оказаться совершенно иными - особенно для значения xmax (а значение ymax при достаточно малом шаге должно будет вычислиться довольно точно), да и вообще с этим xmax скорее всего будет определённый произвол в силу периодичности функции. А проверяется это так:
using System;
namespace New_Project
{ class Program
{ public static double f(double x)
{ return 5 * Math.Cos(3 * x); }
public static void Main()
{ double a, b, h, x, xmax, y, ymax;
int i, n; Console.Write("a b h: ");
var line = Console.ReadLine().Split(" ");
a = double.Parse(line[0]);
b = double.Parse(line[1]);
h = double.Parse(line[2]);
n = (int) ((b - a) / h);
xmax = a; ymax = 5 * f(a);
for (i = 0; i <= n; i++)
{ x = a + i * h; y = f(x);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax="+xmax+", ymax="+ymax);
xmax = b; ymax = f(b);
for(i = 0; i <= n; i++)
{ x = b - i * h; y = f(x);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax="+xmax+", ymax="+ymax);
} } }
using System;
namespace New_Project
{ class Program
{ public static void Main()
{ double a, b, h, x, xmax, y, ymax;
int i, n; Console.Write("a b h: ");
var line = Console.ReadLine().Split(" ");
a = double.Parse(line[0]);
b = double.Parse(line[1]);
h = double.Parse(line[2]);
n = (int) ((b - a) / h);
xmax = a;
ymax = 5 * Math.Cos(3 * a);
for (i = 0; i <= n; i++)
{ x = a + i * h; y = 5 * Math.Cos(3 * x);
Console.WriteLine("{0,12:f8}{1,22:f15}", x, y);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax=" + xmax + ", ymax=" + ymax);
} } }
Печать таблицы можно убрать, например, так:
//Console.WriteLine("{0,12:f8}{1,22:f15}", x, y);
А ещё лучше эту строчку вообще стереть.
Тут ещё хитрость в том, что с шагом h можно идти не от а к b, а наоборот от b к a, но тогда и результаты могут оказаться совершенно иными - особенно для значения xmax (а значение ymax при достаточно малом шаге должно будет вычислиться довольно точно), да и вообще с этим xmax скорее всего будет определённый произвол в силу периодичности функции. А проверяется это так:
using System;
namespace New_Project
{ class Program
{ public static double f(double x)
{ return 5 * Math.Cos(3 * x); }
public static void Main()
{ double a, b, h, x, xmax, y, ymax;
int i, n; Console.Write("a b h: ");
var line = Console.ReadLine().Split(" ");
a = double.Parse(line[0]);
b = double.Parse(line[1]);
h = double.Parse(line[2]);
n = (int) ((b - a) / h);
xmax = a; ymax = 5 * f(a);
for (i = 0; i <= n; i++)
{ x = a + i * h; y = f(x);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax="+xmax+", ymax="+ymax);
xmax = b; ymax = f(b);
for(i = 0; i <= n; i++)
{ x = b - i * h; y = f(x);
if (y > ymax) { ymax = y; xmax = x; } }
Console.WriteLine("xmax="+xmax+", ymax="+ymax);
} } }
float максимум = -5;
float аргумент = нач_интервал;
for(float i = нач_интервал; i максимум)
{
максимум = y;
аргумент = i;
}
}
Console.WriteLine("макс. значение = " + максимум);
Console.WriteLine("аргумент = " + аргумент);
Похожие вопросы
- Нужна помощь в программировании на языке C++
- Как расценивать мое отношение к программированию? Нужна помощь молодому, возможно, будущему прогеру.
- Программирование C++, нужна помощь)
- Нужна ваша помощь по программированию C++
- Нужна помощь с задачей по программированию С++ С# Или так или так
- Программирование, нужна помощь в решение задачи! На си или си++
- Нужна помощь с выполнением заданий в C++
- Нужна помощь в составлении одномерных массивов С++
- C++.Нужна помощь в написании кода.
- Очень нужна помощь. нужен код на C. Задачка будет в описании.