Отчеты / Отчет по лабе №3
.docxЛабораторная работа №3
Программирование алгоритмов циклической структуры при помощи оператора цикла с параметром
Задание.
1. Вычислить сумму (произведение), состоящую из N слагаемых (сомножителей), с использованием оператора цикла с параметром for. Формула для вычисления суммы задана таблицей 1. Предусмотреть ввод параметра n с клавиатуры.
2. Вычислить сумму членов конечного ряда. При вычислении вывести рекурентное соотношение для получения следующего члена ряда. Формула для вычисления суммы задана таблицей 2. Предусмотреть ввод параметров n и x с клавиатуры. Протабулировать функцию y = f(x), заданную в виде суммы из таблицы 2, на отрезке [0,1; 3,0] с шагом 0,1.
Таб. 1
№ Вар. |
Арифметическое выражение |
8 |
Дано действительное число х.
|
Таб. 2
Алгоритмы
1) нач.
ввод. x,n;
нц.
пока (k<=n, k++)
a = Math.Pow(x, (2 * k - 2) * (-1));
S = S + a;
кц.
кон.
2) нач.
ввод. x,k;
нц.
пока (n<=k, n++)
R = b / (c * x);
a = a * R;
S = S + a;
кц.
кон.
Код и проверка
1) double x,S,n;
Console.WriteLine("Введите число x:");
x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите n:");
n = Convert.ToDouble(Console.ReadLine());
S=0;
for (int k=1; k<=n ; k++)
{
double a;
a = Math.Pow(x, (2 * k - 2) * (-1));
S = S + a;
}
Console.WriteLine("Конечный вывод S={0}",S);
Console.ReadLine();
Проверка:
(Вручную)
Ввод: n=3, x=5
Результат: 1.04
(Программа)
Ввод: n=3, x=5
Результат: 1.0416
2) double x,k,R,S,a,b,c;
Console.WriteLine("Введите значение х:");
x = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Введите значение k:");
k = Convert.ToDouble(Console.ReadLine());
a=(x*x)/2;
S = (x * x) / 2;
if (k == 1)
Console.WriteLine("S={0}", a);
else
{
for (int n = 2; n <= k; n++)
{
b = (2 * n + 1);
c = (2 * n - 1);
R = b / (c * x);
a = a * R;
S = S + a;
Console.WriteLine("S={0}", S);
}
Console.WriteLine("S={0}", S);
}
Console.ReadLine();
Проверка:
(Вручную)
Ввод: x=0.1, n=3
Результат: 1.255
(Программа)
Ввод: x=0.1, n=3
Результат: 1.255