русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вычисление конечных сумм и произведений


Дата добавления: 2013-12-23; просмотров: 4252; Нарушение авторских прав


Решение многих задач связано с нахождением суммы или произведения элементов заданной последовательности. В данном разделе мы рассмотрим основные приемы вычисления конечных сумм и произведений.

Пусть - произвольная последовательность n функций. Будем рассматривать конечную сумму вида . Такую сумму можно записать более компактно, используя следующее обозначение: . При значение суммы равно 0.

В дальнейшем будем также использовать сокращенную запись для конечного произведения данной последовательности, которая выглядит следующим образом: .

1. Написать программу, которая подсчитывает сумму натуральных чисел от до ().

Указания по решению задачи. Пусть - сумма натуральных чисел от до . Тогда Мы пришли к рекуррентному соотношению , которым мы можем воспользоваться для подсчета суммы. Соотношение говорит о том, что сумма на -ном шаге равна сумме, полученной на предыдущем шаге, плюс очередное слагаемое.

static void Main(){ Console.Write("Ввведите значение n: "); int n=int.Parse(Console.ReadLine()); int s=0; for (int i=1; i<=n; ++i) s+=i; Console.WriteLine("s="+s);}

2. Написать программу, которая подсчитывает для вещественного и натурального .

Указание по решению задачи. Из свойства факториала , , . Следовательно, факториал можно вычислять, используя рекуррентное соотношение .

static void Main(){ Console.Write("Ввведите значение n: "); int n=int.Parse(Console.ReadLine()); int f=1; for (int i=1; i<=n; ++i) f*=i; Console.WriteLine("{0}!={1}", n, f);}
  1. Написать программу для подсчета суммы , где - вещественное число, - натуральное число.

Указания по решению задачи. Если пронумеровать слагаемые, начиная с , то мы увидим, что номер слагаемого совпадает со значением знаменателя. Рассмотрим каждый числитель отдельно: Эту последовательность можно представить рекуррентным соотношением (1). Теперь сумму можно представить следующим образом, , а для нее справедливо рекуррентное соотношение , (2). При составлении программы будем использовать формулы (1-2).



static void Main(){ Console.Write("Ввведите значение n: "); int n=int.Parse(Console.ReadLine()); Console.Write("Ввведите значение x: "); double x=double.Parse(Console.ReadLine()); double b=0, s=0; for (int i=1; i<=n; ++i) { b+=Math.Cos(i*x); s+=b/i; } Console.WriteLine("s={0:f2}",s);}
  1. Написать программу для подсчета суммы , где - вещественное число, - натуральное число.

Указания по решению задачи. Перейдем от сокращенной формы записи к развернутой, получим

Каждое слагаемое формируется по формуле . Если в эту формулу подставить , то получим .

Чтобы не вводить несколько рекуррентных соотношений (отдельно для числителя, отдельно для знаменателя), представим общий член последовательности слагаемых с помощью рекуррентного соотношением вида , где для нас пока не известно. Найти его можно из выражения . Произведя необходимые расчеты, получим, что . Следовательно, для последовательности слагаемых мы получили рекуррентное соотношение , (3). А всю сумму, по аналогии с предыдущими примерами, можно представить рекуррентным соотношением: , (4). Таким образом, при составлении программы будем пользоваться формулами (3-4).

using System; namespace Hello{ class Program { static void Main() { Console.Write("Ввведите значение n: "); int n=int.Parse(Console.ReadLine()); Console.Write("Ввведите значение x: "); double x=double.Parse(Console.ReadLine()); double a=-1, s=0; for (int i=1; i<=n; ++i) { a*=-x/i; s+=a; } Console.WriteLine("s={0:f2}",s); } }}


<== предыдущая лекция | следующая лекция ==>
Генерация собственных исключений | Вычисление бесконечных сумм


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.