Накопление сумм и произведений
Задача9. Написать программу вычисляющую сумму и произведение чисел от 1 до 10.
Рассмотрим процесс накопления S суммы и P произведения чисел от 1 до 10.
Накопление суммы Накопление произведения
Блок схема и программа накопления S и P:
static void Main(string[] args)
{
int s, p, i;
s = 0;
p = 1;
for (i = 1; i <= 10; i++)
{
s = s + i;
p = p * i;
}
Console.WriteLine("Сумма 10 чисел=" + s);
Console.WriteLine();
Console.WriteLine("Произведение 10 чисел=" + p);
Console.ReadKey();
}
Программные блоки не снижают динамику выполнения программ. Наоборот, их наличие позволяет в одном цикле вычислить как сумму, так и произведение.
Для вывода всех частичных сумм и произведений их вычисления надо поместить в блок тело цикла.
static void Main(string[] args)
{
int s, p, i;
s = 0;
p = 1;
for (i = 1; i <= 10; i++)
{
s = s + i;
Console.WriteLine("Сумма "+ i + " чисел=" + s);
p = p * i;
Console.WriteLine("Произведение " + i +
" чисел=" + p);
Console.WriteLine();
}
Console.ReadKey();
}
Задача10. Написать программу вычисляющую сумму членов ряда:
t=sin(x*1)+ sin(x*2)+ sin(x*3)+ sin(x*4)+ sin(x*5)
t0 = 0
t1 = t0 + sin(x*1)
t2 = t1 + sin(x*2)
t3 = t2 + sin(x*3)
t4 = t3 + sin(x*4)
t5 = t4 + sin(x*5)
static void Main(string[] args)
{
int n; double x = 0.5, t=0;
for (n = 1; n <= 5; n++)
t =t + Math.Sin(x*n);
Console.WriteLine("Сумма членов ряда = {0:#.###}", t );
Console.ReadKey();
}
Задача11. Написать программу вычисляющую произведение членов ряда:
v=cos2(x*2) * cos2(x*3) * cos2(x*4) * cos2(x*5) * cos2(x*6)
v0 = 1
v1 = v0 * cos2(x*2)
v2 = v1 * cos2(x*3)
v3 = v2 * cos2(x*4)
v4 = v3 * cos2(x*5)
v5 = v4 * cos2(x*6)
static void Main(string[] args)
{
int k; double x = 0.5, v=1;
for (k = 2; k <= 6; k++)
v = v * Math.Pow(Math.Cos(x*k),2);
Console.WriteLine("Произведение членов ряда = {0:#.######}", v);
Console.ReadKey();
}
Задача12. Написать программу вычисляющую функцию :
static void Main(string[] args)
{
int a=1,b=1,s=0,w=1;
for (a = 1; a <= 5; a++)
{
s=0;
for (b = 1; b <= 8; b++)
s = s + a*a * b;
w = w * s;
}
Console.WriteLine("w = {0}", w);
Console.ReadKey();
}